C++的函式過載(定義初學)
阿新 • • 發佈:2019-01-12
前言:C語言不允許函式重名,這給程式設計師帶來了不少的麻煩。
例如:
(1)寫一個函式,求2個數中的最大值
double find_max(double a,double b);
(2)寫一個函式,求3個數中的最大值
double find_max(double a,double b,double c);
find_max是個好名字,但是已經被佔用了。
二、函式名過載
在C++中,允許兩個的函式名相同,但引數列表不同,稱為“函式名過載”。
引數列表相同:引數個數相同且引數型別相同。
舉例:
以下兩個函式不同,因為引數個數不同 double find_max(double a,double b); double find_max(double a,double b,double c); 以下兩個函式不同,因為引數型別不同 double find_max(double a,double b); double find_max(int a,int b);
只比較個數和型別 與引數名稱沒關係
//以下兩個函式相同
double find_max(double a,double b);
double find_max(double c,double d);
注意:函式返回型別不同,不可以過載
//以下兩個函式相同,和返回值無關
double find_max(double a,double b);
int find_max(double a,double b);