関数の多重定義
c++では型が異なると関数に同じ名前を付けられる。例えば、int型の関数とfloat型の関数といったように関数名を定義することが出来ます。
#include <iostream>
using namespace std;
//int関数test
int test(int x){
cout << "int型関数が呼び出されました。" << endl;
cout << x << endl;
return x;
}
//float関数test
float test(float x){
cout << "float型関数が呼び出されました。" << endl;
cout << x << endl;
return x;
}
//メイン関数
int main(){
//関数testを呼び出す
test(9);
test(9.4f);
}
実行結果は以下の通りです。
int型関数が呼び出されました。
9
float型関数が呼び出されました。
9.4
ここで注意すべき点は、float型の関数を呼び出す場合には、fを付けて明示的にfloat型を示さなければエラーとなります。