Mam dwie klasy
class Character
oraz
class Player : public Character
w Player mialem jeden konstruktor (tylko jeden)
Player::Player(const std::string& name, const std::string& avatarPath) :
Character(name, avatarPath)
{
}
ale teraz potrzebuje zrobic drugi. Moze nie tyle co drugi co potrzebuje usunac name z pierwszego (drugi nie musi istniec)
wiec zrobilem
Player::Player(const std::string& avatarPath)
{
}
no i pokazuje, ze Character nie ma domyslnego konstruktora (no bo ma tylko jeden zdefiniowany). Co oryginalnie chcialem zrobic to cos takiego
Player::Player(const std::string& avatarPath)
{
std::string name = GetNameFromFile();
this->Player(name, avatarPath);
}
no ale to nie zadziala (bo nie ma konstruktora domyslnego w character) wiec pierwsza mysl rozwiazania jest taka by zdefiniowac go i zrobic pustym.
PYTANIE. Czy jest ok, ze wywolaja sie dwa konstruktory klasy bazowej podczas tworzenia obiektu? Wydaje mi sie, ze tak, ale chcialem sie upewnic, a nie moglem nic znalezc w googlach