===== 継承 ===== ベースのクラスを引き継いで新しいクラスを作ること。\\ 元のクラスを拡張するよ。\\ #include #include //コーディング規約:コードを書くためのルール集 //その所属団体で決められてるよ using std::string; using std::endl; using std::cout; class cAnimal { private: //動物の種名 string mName_; //命名規則:プライベートメンバは後ろに_ public: //コンストラクタ インライン定義しちゃった cAnimal() :mName_("None") { cout << mName_ << "爆誕" << endl; } cAnimal(string name) :mName_(name) { cout << mName_ << "爆誕" << endl; } //デストラクタ ~cAnimal() { cout << "絶命しました" << endl; } //種名のゲッター、セッター void SetName(string name){ mName_ = name; } string GetName(){ return(mName_); } //寝る => "すやすや" と出力 void Sleep(); //食べる => ”もぐもぐ" と出力 void Eat(); //起きる => "起きた!" と出力 void GetUp(); }; #include "cAnimal.h" //寝る => "すやすや" と出力 void cAnimal::Sleep() { cout << "すやすや" << endl; } //食べる => ”もぐもぐ" と出力 void cAnimal::Eat() { cout << "もぐもぐ" << endl; } //起きる => "起きた!" と出力 void cAnimal::GetUp() { cout << "起きた!" << endl; } #include "cAnimal.h" class cDog : public cAnimal { //cAnimalクラスが全部含まれいる public: cDog() :cAnimal("None") //親クラスcAnimalのコントラクタを呼ぶ { //SetName("None"); } cDog(string name) :cAnimal(name) { } void bark(); //barkは英語で犬が吠える }; #include "cDog.h" void cDog::bark() //barkは英語で犬が吠える { cout << "わんわんっ!" << endl; } #include //#include "cAnimal.h" #include "cDog.h" int main() { //cAnimal creature("あだす"); //creature.GetUp(); //creature.Eat(); //creature.Sleep(); cDog dog("john"); dog.bark(); } //5時間目 //親クラスの関数を呼ぶテストをする //parrotクラス //なくし、自分の名前を言うよ