Я пишу игру, в которой один Объект может превращаться в объект другого класса (например, Кларк Кент -> Супермен).Я хотел бы знать, как наиболее эффективно реализовать это.
Логика моего текущего кода: я создал функцию turnInto()
внутри класса ClarkKent.Функция turnInto
вызывает конструктор класса Superman, передавая ему всю необходимую информацию.Следующим шагом является присвоение адреса объекта Superman текущему объекту ClarkKent.
void ClarkKent::turnInto() {
Superman sMan(getName(), getMaxHP(), getDamage());
&(*this) = &w; // <- error here
this->ClarkKent::~ClarkKent();
}
Как вы уже догадались, компилятор выдает ошибку, что выражение не может быть назначено.Не уверен, как найти правильное решение для этого.