Please take a look at the following:
dispenserType type[4];
dispenserType appleJuice();
type[0] = appleJuice;
dispenserType orangeJuice();
type[1] = orangeJuice;
dispenserType mangoLassi();
type[2] = mangoLassi;
dispenserType fruitPunch();
type[3] = fruitPunch;
as you can see i have stored different objects in the type
array.
The dispenserType
class has a constructor that sets the number of items to 20.
so we have int numberfItems
for the object appleJuice
set to 20 so on and so forth.
The same class has also the following methods: method that decreases the numberOfItems
by one:
void dispenserType::makeSale()
{
numberOfItems--;
}
int dispenserType::getNoOfItems() const
{
return numberOfItems;
}
If for example the following is called:
appleJuice.makeSales
cout << appleJuice.getNoOfItems() << endl;
then the program would display the right numberOfItmes
, which is 19. On the other hand, if cout<<type[0].getNoOfItems()
is called, then it would display the number 20.
That behavior leads me to think that appleJuice
and type[0]
are two separate objects.
My questions is, is there a way to create an array of objects without needing to declare an object and store in an array as I did it as I did?
thank you.