継承の基本(復習)
cSample.h
#pragma once #include <iostream> 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 <iostream> using std::cout; using std::endl; void cSample::printMyName() { cout << mName << endl; } void cSample::printMyNickName() { cout << mNickName << endl; }
これを継承するクラス
cInheritSample.h
#pragma once #include "cSample.h" class cInheritSample : public cSample { public: void printProfile(); };
cInheritSample.cpp
#include "cInheritSample.h" #include <iostream> void cInheritSample::printProfile() { this-> //さてどうなる? }
theMain.cpp
#include <iostream> #include "cSample.h" int main() { cSample ins2; cSample ins1("ysan"); ins1.mNickName = "ytarou"; ins1.setMyName("yamada tarou"); ins1.printMyName(); ins1.printMyNickName(); return 0; }