重載函式(Overloaded function)


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;
}

執行結果:

引數:10
引數:20      & nbsp; 30


也可以根據參數的型態來決定要呼叫的函式,例如:

#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;
}

執行結果:

int 引數:10
double 引數:10


函式過載時可以根據函式參數列的參數資料型態,也可以根據參數的個數,或是兩個的結合,但要注意的是,返回值型態不能用作判斷函式重載的依據。