- 継承をすることで、最も汎用的なクラスから、最も特化されたクラスへの流れを示すクラス階層を作成できる。
- あるクラスを別のクラスが継承するとき
- 継承される側のクラスを 基本クラス と呼ぶ
- 継承する側のクラスを 派生クラス と呼ぶ
#include <iostream>
using namespace std;
class B {
int i;
public:
void set_i( int );
int get_i();
};
class D : public B {
int j;
public:
void set_j( int );
int mul();
};
void B::set_i( int n ) {
i = n;
}
int B::get_i() {
return i;
}
void D::set_j( int n ) {
j = n;
}
int D::mul() {
return j * get_i();
}
int main() {
D ob;
ob.set_i( 10 );
ob.set_j( 4 );
cout << ob.mul() << endl;
return 0;
}
- mul()に注目
- 特にオブジェクトにリンクすることなく、Bクラスのメンバであるget_i()を呼び出している。
- mul()では非公開メンバのiにアクセスできないため、get_i()関数を呼び出す。
$ g++ -o study52 study52.cpp
実行
$ ./study52
40
引用・参考はこちら
独習C++ 第4版
https://www.amazon.co.jp/dp/4798119768