C++支援函式「重載」(Overload),這種機制為類似功能的函式提供了統一的名稱,但是根據參數列個數或型態的不同,而自動呼叫對應的函式,函式過載的功能使得程式設計人員能較少苦惱於函式名稱的設計,以統一的名稱來呼叫相同功能但實際提供的資料不同的函式,例如依參數列個數的不同來重載:
#include <iostream>
using namespace std;
void showpara(int);
void showpara(int, int);
int main() {
showpara(10);
showpara(20, 30);
return 0;
}
void showpara(int x) {
cout << "引數:" << x
<< endl;
}
void showpara(int x, int y) {
cout << "引數:" << x
<< "\t" << y
<< endl;
}
執行結果:
也可以根據參數的型態來決定要呼叫的函式,例如:
#include <iostream>
using namespace std;
void showpara(int);
void showpara(double);
int main() {
showpara(10);
showpara(10.0);
return 0;
}
void showpara(int x) {
cout << "int 引數:" << x
<< endl;
}
void showpara(double x) {
cout << "double 引數:" << x
<< endl;
}
執行結果:
函式過載時可以根據函式參數列的參數資料型態,也可以根據參數的個數,或是兩個的結合,但要注意的是,返回值型態不能用作判斷函式重載的依據。