Что вам нужно сделать, это создать определение для ваших конструкторов по умолчанию character::character()
и player::player()
.Хотя конструкторы по умолчанию не принимают аргументов, вам все равно нужно предоставить определение для них.Если они абсолютно ничего не делают, даже не инициализируют член, то вы можете просто сделать то, что вы сделали для своих деструкторов: character() { }
и player() { }
.
Однако вы можете (и, вероятно, должны) инициализироватьчлены данных в конструкторах, используя синтаксис списка инициализатора.Например, для класса символов это будет:
character() : hp(100), name("Mario") { }
Обратите внимание, что вам не нужна точка с запятой после }
.Или вы можете НЕ использовать списки инициализаторов и иметь:
character() {
hp = 100;
name = "Mario";
}