1. 程式人生 > >C++的函式過載(定義初學)

C++的函式過載(定義初學)

前言: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);