1. Yes, you may use an array that way. However it might be a non-optimal solution: suppose you have just two models, one having 3 specifications and the other having 5 specifications then you
have to declare the array this way:
Laptop laptop[2][5];
wasting the memory required 3 'laptop' objects.
I suggest you to use one of the
STL
container classes, like, for instance
std::vector
.
2. I wrote a trick for a very similar task:
"Random extraction of 5 cards from a deck"[
^].