Я сократил проблему до следующего примера кода:
class Charizard { //truck
trainer &myTrainer;
public:
Charizard(trainer &tMyTrainer);
};
class trainer {
Charizard myPokemon;
public:
trainer();
};
Charizard::Charizard(trainer &tMyTrainer) : myTrainer(tMyTrainer) {}
Без изменения или добавления открытых членов, как я могу создать конструктор для тренера, чтобы при создании myPokemon в инициализацииВ списке «myTrainer» указывает на созданный трейнер?
Вот что я пробовал:
trainer::trainer() : myPokemon(this) {}
Но, конечно же, «this» - неправильный тип.Я не могу изменить то, что принимает конструктор Charizard (это публичный член), поэтому я не уверен, что делать.Любые идеи?
Примечание: Заголовок может потребоваться немного работы.