====== 継承の基本(復習) ====== ==== cSample.h ==== #pragma once #include using std::string; class cSample { protected: string mName; public: string mNickName; //インライン関数定義+メンバイニシャライザ cSample(string _name):mName(_name) {} cSample() :mName("dammy") {}; //セッター・ゲッターを作ってprivateメンバ //を書き換える、参照するを実現 void setMyName(string _name) { mName = _name; } string getMyName() { return mName; } void printMyName(); void printMyNickName(); }; ==== cSample.cpp ==== #include "cSample.h" #include using std::cout; using std::endl; void cSample::printMyName() { cout << mName << endl; } void cSample::printMyNickName() { cout << mNickName << endl; } ==== cInheritSample.h ==== #include "cSample.h" #include using std::cout; using std::endl; void cSample::printMyName() { cout << mName << endl; } void cSample::printMyNickName() { cout << mNickName << endl; } ==== cInheritSample.cpp ==== #include "cInheritSample.h" #include using std::cout; using std::endl; cInheritSample::cInheritSample() :cSample() { cout << "cSampleはデフォルトコンストラクタで初期化されました" << endl; } cInheritSample::cInheritSample(string _name) :cSample(_name) { cout << "cSampleは" << _name << "初期化されました" << endl; } void cInheritSample::printProfile() { cout << "-+-+--+-+-"<< "Profile of " << mName << "-+-+--+-+-" << endl; cout << "   お名前:" << mName << endl; cout << "ニックネーム:" << mNickName << endl; cout << "-+-+--+-+--+-+--+-+--+-+--+-+--+-+--+-+-" << endl; } ==== theMain.cpp ==== #include #include "cSample.h" #include "cInheritSample.h" int main() { //cSample ins2; //cSample ins1("ysan"); // //ins1.mNickName = "ytarou"; //ins1.setMyName("yamada tarou"); //ins1.printMyName(); //ins1.printMyNickName(); // cInheritSample ins3("山田次郎"); //ins3.setMyName("山田次郎"); ins3.mNickName = "じろちゃん"; //ins3.printMyName(); //ins3.printMyNickName(); ins3.printProfile(); return 0; }