Я создаю текстовую приключенческую игру в C++. Это мой класс игроков, я начал с параметров работоспособности, выносливости и ключей, и он отлично работал.проблема с наследованием, классами?
class Player
{
public:
Player();
Player(int health, int stamina, int keys, Items weapon, Items armour, Items gold);
void setHealth(int healthParam);
int getHealth() const;
void setStamina(int staminaParam);
int getStamina() const;
void setKeys(int keysParam);
int getKeys() const;
void setWeapon(Items weaponParam);
Items getWeapon() const;
void setArmour(Items armourParam);
Items getArmour() const;
void setGold(Items goldParam);
Items getGold() const;
private:
int health;
int stamina;
int keys;
Items weapon;
Items armour;
Items gold;
};
Затем я создал класс под названием элементов (ниже), и я хочу, чтобы мой плеер, чтобы наследовать переменные из этого класса
class Items
{
public:
Items();
void setWeapon(string weaponParam);
string getWeapon() const;
void setArmour(string armourParam);
string getArmour() const;
void setGold(int goldParam);
int getGold() const;
private:
string weapon;
string armour;
int gold;
};
#endif
Как вы можете видеть, у меня есть перегруженный конструктор в моем классе игрока и я хочу игрок взять атрибуты оружия, броню и золото, но в моем основном я имею проблему (основную ниже)
int currentKeys = 0;
string userInput;
Player player(100, 100, currentKeys, "", "", 0);
ошибка я подвожу говорят мне, что я не имею ни одного примера конструктор, который соответствовал одному в моем классе, я просто хочу знать, может ли кто-нибудь помочь мне решить мою проблему? Все мои атрибуты изначально установлены в 0 или «» в случае строк, поэтому я не уверен, что делать, спасибо заранее
Я не вижу конструктор 'Player', который принимает' (Int , int, int, char *, char *, int) ' – Tushar
Как строковый литерал (" ") конвертируется в' Items'? – mfontanini
Это злоупотребление наследованием. Действительно ли игрок является предметом? У игрока есть предмет более точный. – andre