агрегация — добавление объекта в другой объект Переполнение стека

Я пытаюсь просто добавить объект к другому объекту в классе, например, добавить игрока на фабрику.

Для моего factory.h

class Factory
{
public:

Factory(void);
~Factory(void);
void addMaze(Maze maze);
void addPlayer(Player player);
std::string getSessionTime();
std::string setSessionTime(std::string time);

private:

int m_ID;
Player m_player;
Maze m_maze ;
std::string m_SessionTime;
std::string m_filePath [50];};

и тогда в моем классе Factory у меня есть:

void Factory::addPlayer(Player player)
{
m_player.add(player); //This is what I feel like I want to do
}

Итак, я пытаюсь добавить игрока в свой список игроков, но это не поможет? Я что-то упускаю действительно очевидное? Если бы кто-то мог помочь или указать мне правильное направление, я был бы очень признателен.

0

Решение

Player m_player; объявляет член данных типа Player, а не список игроков. Если вы хотите список, есть член std::list<Player> или более распространенный std::vector<Player>,

Ваша функция может выглядеть так

void Factory::addPlayer(const Player& player)
{
m_players.push_back(player);
}
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]