基本クラスとその派生クラスに同じ名前の関数がある場合は、
通常の関数やメンバ関数のように
多重定義(オーバーロード)が可能です。
通常の関数の多重定義(オーバーロード)についてはコチラ。
メンバ関数の多重定義(オーバーロード)についてはコチラ。
#include <iostream>
using namespace std;
/********** 基本クラス **********/
class kihon {
public:
void show(int data1) {
cout << "data1 = " << data1 << '\n';
}
};
/********** 派生クラス **********/
class hasei : public kihon {
public:
void show(int data1, int data2) {
cout << "data1 = " << data1 << '\n';
cout << "data2 = " << data2 << '\n';
}
};
void main() {
hasei b;
b.show(10); // 基本クラスのshow関数が呼ばれる
b.show(10, 20); // 派生クラスのshow関数が呼ばれる
}
このプログラムには、基本クラスと派生クラスにshow関数があります。
しかし、引数の個数が異なるので、適切に呼び分ける事ができています。