メンバ関数は、通常の関数のように多重定義(オーバーロード)が可能です。
通常の関数の多重定義(オーバーロード)についてはコチラ。
class keisan {
public:
int tasizan(int a, int b) {
return a + b;
}
double tasizan(double a, double b) {
return a + b;
}
};
void main() {
int ians = 0;
double dans = 0;
keisan obj;
ians = obj.tasizan(20, 5); // int型の方の関数呼び出し
dans = obj.tasizan(2.5, 7.5); // double型の方の関数呼び出し
}
このプログラムでは、同じ名前のメンバ関数tasizanが存在しますが、
引数の型が異なるため、エラーとはならず、正常に動作します。
引数に整数を使うと引数にint型を使う関数が呼ばれ、
引数に少数を使うと引数にdouble型を使う関数が呼ばれます。