私は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;
};
次に、items(下記)というクラスを作成し、プレーヤーにそのクラスから変数を継承させたい
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 または "" に設定されているため、どうすればよいかわかりません。よろしくお願いします