C 函式過載詳解

2021-10-11 03:56:54 字數 892 閱讀 4034

一、函式過載定義- 同一作用域空間中,定義多個同名函式,該系列同名函式函式形參鬚或型別或個數或順序不同。

1、函式形參個數、型別、順序三者中須至少乙個不同

a、函式形參個數不同:

int max(int var1, int var2);

int max(int var1, int var2, int var3);

b、函式形參型別不同:

int add(int var1, int var2);

float add(float var1, float var2);

double add(double var1, double var2);

c、函式形參順序不同:

float add(int var1, float var2);

float add(float var1, int var2);

2、函式返回值不能作為函式過載的條件

3、函式形參為引用時,帶有const與未帶const可作為函式過載的判斷條件

int add(int &var1, int &var2);

int add(const int &var1, const int &var2);

4、函式過載碰到函式預設引數時,須注意避免二義性

int add(int var1, int var2, int var3);

int add(int var1, int var2, int var3=0);

// 呼叫以上兩個函式時,若傳入引數個數為2個時,自動呼叫第二個函式;若傳入個數為3個時,存在二義性,程式不能正常執行。

C 函式過載詳解

我們在開瓶瓶罐罐的時候,經常會遭遇因各種瓶口規格不同而找不到合適的工具的尷尬。所以有時候就為了開個瓶,家裡要備多種規格的開瓶器。同樣是開個瓶子嘛,何必這麼麻煩?於是有人發明了多功能開瓶器,不管啤酒瓶汽水瓶還是軟木塞的紅酒瓶都能輕鬆開啟。然而開瓶器的問題也會發生到程式設計中。比如我們要編寫乙個函式來求...

C 函式過載詳解

我們在開瓶瓶罐罐的時候,經常會遭遇因各種瓶口規格不同而找不到合適的工具的尷尬。所以有時候就為了開個瓶,家裡要備多種規格的開瓶器。同樣是開個瓶子嘛,何必這麼麻煩?於是有人發明了多功能開瓶器,不管啤酒瓶汽水瓶還是軟木塞的紅酒瓶都能輕鬆開啟。然而開瓶器的問題也會發生到程式設計中。比如我們要編寫乙個函式來求...

C 函式過載 詳解

在實際開發中,有時候我們需要實現幾個功能類似的函式,只是有些細節不同。例如希望交換兩個變數的值,這兩個變數有多種型別,可以是 int float char bool 等,我們需要通過引數把變數的位址傳入函式內部。在c語言中,程式設計師往往需要分別設計出三個不同名的函式,其函式原型與下面類似 void...