發新話題

C++ Gossip - 《函式入門》重載函式

C++ Gossip - 《函式入門》重載函式

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

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

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。