継承と多態性とか
Listing. 1: animalクラス
- "class animal"
class animal { private: int hp_; string name_; public: animal();//hp_ 0で初期化 animal(int _hp, string _name); ~animal();//空 実装 virtual void say(); //継承先で書き換え可能 //"がおー"; <= coutでいいよ; hp_半減 void SetHp(int _hp); int GetHp(); void SetName(string _name) { name_ = _name; } string GetName() { return(name_); } };
Listing. 2: Dogクラス
- "class Dog"
class Dog :public animal { public: Dog(); Dog(int _hp, string _name); ~Dog(); void say() override;//わんと鳴く。 };
Listing. 3: Parrotクラス
- "class Parrot
class Parrot :public animal { public: Parrot(); Parrot(int _hp, string _name); ~Parrot(); void say() override; //自分の名前を自己紹介します。 };