У меня проблема. Я хочу создать новый массив из IOBjekt
, я заполнил массив, и теперь я хотел бы отправить массив в другой класс (Hra
). Можете ли вы помочь мне с указателями. Я не знаю, как использовать этот массив и метод вызова из объекта.Отправка массива между классами в C++
Сохранить в массив
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 в вашем внешнем коде находится на другом уровне косвенности чем 3 в «Engine :: Engine». Либо удалите уровень косвенности во внешнем коде, либо добавьте его в «Engine :: Engine». – JSF
Вам действительно нужны все эти указатели и массивы c-style? Не можете ли вы со стандартным контейнером, как 'vector', и вместо этого передать« ссылку »? – 4386427