【发布时间】:2015-12-16 17:21:16
【问题描述】:
我有一个问题。我想创建IOBjekt 的新数组,我已经填充了数组,现在我想将数组发送到另一个类(Hra)。你能帮我指点一下吗。我不知道如何foreach这个数组并从对象调用方法。
保存到数组
IObjekt **store = new IObjekt*[3];
for (int i = 0; i < 3; i++)
{
store[i] = new BMPObjekt(aHraciaPlocha, "ball.bmp");
cout << store[i] << endl;
}
aHra = new Engine(aHraciaPlocha, *store);
解析数组
Engine::Engine(ISystem * plocha, IObjekt *objekty)
:aHraciaPlocha(plocha), aObjekty(objekty), aSkore(0)
{
for (int i = 0; i < 3; i++) {
IObjekt *objekt = &objekty[i]; // This doesnt work
cout << objekt->dajX << endl;
}
}
谢谢。
【问题讨论】:
-
外部代码中的 3 与
Engine::Engine中的 3 处于不同的间接级别。要么在外部代码中删除一个间接级别,要么在Engine::Engine中添加一个。 -
你真的需要所有这些指针和 c 风格的数组吗?你不能使用像
vector这样的标准容器并传递reference来代替吗?
标签: c++ arrays visual-c++ c++14