【发布时间】:2014-04-12 08:19:26
【问题描述】:
请看以下内容:
dispenserType type[4];
dispenserType appleJuice();
type[0] = appleJuice;
dispenserType orangeJuice();
type[1] = orangeJuice;
dispenserType mangoLassi();
type[2] = mangoLassi;
dispenserType fruitPunch();
type[3] = fruitPunch;
如您所见,我在 type 数组中存储了不同的对象。
dispenserType 类有一个构造函数,将项目数设置为 20。
所以我们将对象appleJuice 的int numberfItems 设置为20,依此类推。
同一类还有以下方法:将numberOfItems减一的方法:
void dispenserType::makeSale()
{
numberOfItems--;
}
int dispenserType::getNoOfItems() const
{
return numberOfItems;
}
如果例如调用以下内容:
appleJuice.makeSales
cout << appleJuice.getNoOfItems() << endl;
那么程序会显示右边的numberOfItmes,也就是19。另一方面,如果cout<<type[0].getNoOfItems()被调用,那么它会显示数字20。
这种行为让我认为appleJuice 和type[0] 是两个独立的对象。
我的问题是,有没有一种方法可以创建一个对象数组,而无需像我所做的那样声明一个对象并存储在一个数组中?
谢谢。
【问题讨论】:
-
您的代码甚至不应该编译。可以贴一些实际的代码,包括
type的声明吗?