Итак, у меня есть вектор, полный всех объектов для моей игры; такие вещи, как объект игрока, объект противника, стены и т. д. Все вещи в векторе - это дети Framework
, поэтому я сделал векторный тип Framework
, потому что это было самым близким к универсальному типу данных для них.Как хранить разные классы в одном векторе?
Проблема была в том, что она не выполняла переопределенные функции из объектов, которые она хранила. Таким образом, я разобрал его, чтобы узнать, что, по-видимому, я нарезаю объекты, сохраняя их как Framework
. Итак, мой вопрос заключается в том, как хранить все эти объекты в одном списке?
Просто для справки, здесь вызывается функции, которые должны быть переопределены.
for (vector<Framework>::iterator num = gameObjects.begin(); num != gameObjects.end(); ++num)
{
//The current thing
Framework currentObject = *num;
currentObject.frameEvent();
currentObject.frameEndEvent();
currentObject.drawEvent();
}
Заранее благодарен.
Большое вам спасибо! Это сработало. Но просто интересно, что такое '->'? Это то, как вы вызываете функции из указателей классов? Еще раз, спасибо за помощь! – null
Действительно, вы используете (dot) '.', когда у вас есть объект и' -> ', когда у вас есть указатель (или указательный объект -' std :: shared_ptr' или 'std :: unique_ptr'). – lisu