如果同一作用域內的幾個函式名字相同但形參列表不同,我們稱之為過載函式。
這些函式接受的形參型別不一樣, 但是執行的操作非常類似。 當呼叫這些函式時, 編譯器會根據傳遞的實參型別推斷想要的是哪個函式。void print(const
char *cp);
void print(const
int *beg, const
int *end);
void print(const
int ia, size_t size);
#include
using
namespace
std;
//過載函式,名稱相同但是引數列表不同的函式,呼叫時,系統會根據我們傳遞的實參來選擇呼叫的函式
void print(const
char *cp);
void print(const
int *beg, const
int *end);
void print(const
int ia, size_t size);
int main()
; //傳遞的實參是兩個int型別的指標,所以會呼叫第二個函式
print(&arr[2], &arr[size - 1]);
//傳遞的實參是陣列名和乙個size_t型別的值,所以會呼叫第三個函式
print(arr, size);
//傳遞的實參是陣列名,但是沒有和它相對應的引數列表的函式定義,所以會出錯
//print(arr);
return0;}
void print(const
char *cp)
void print(const
int *beg, const
int *end)
}void print(const
int ia, size_t size)
}
mysql 函式過載 C 方法過載(函式過載)
在講解 c 構造方法 時提到定義構造方法時提到可以定義帶 0 到多個引數的構造方法,但構造方法的名稱必須是類名。實際上,這就是乙個典型的方法過載,即方法名稱相同 引數列表不同。引數列表不同主要體現在引數個數或引數的資料型別不同。在呼叫過載的方法時系統是根據所傳 遞引數的不同判斷呼叫的是哪個方法。例項...
oracle 函式 實現過載 C 函式過載
一 函式過載的概念 在實際開發中,有時候我們需要實現幾個功能類似的函式,例如把變數的值寫入檔案,變數的型別可能是int long double char,通過引數把變數傳入函式。在c語言中不允許函式同名,程式設計師只能設計出四個不同名的函式,其函式宣告如下 bool writetofile int ...
C 函式過載
函式過載 overloaded function 在相同的作用域中的兩個函式,如果有相同的名字而形參表不同 注意 如果僅僅函式的返回值不同是不能實現函式過載 void func int int func int error,僅僅返回值不同是不能作為函式過載,這屬於函式重定義 形參表包括 引數的型別 ...