C 函式過載

2021-06-04 23:08:00 字數 878 閱讀 2138

函式過載(overloaded function):在相同的作用域中的兩個函式,如果有相同的名字而形參表不同

注意:如果僅僅函式的返回值不同是不能實現函式過載

void func

(int

);int func

(int

);//error,僅僅返回值不同是不能作為函式過載,這屬於函式重定義

形參表包括:引數的型別 個數 形參是是引用或者指標時,是否為const

void func

(int

);//#1

void func

(float

);//#2

void func

(int

,int

);//#3

void func

(const

int*);

//#4

//#1 vs #2 形參型別不同

//#1 vs #3 形引數目不同

//#1 vs #4 形參是否為const 的引用或指標

其中比較容易讓人忽略的是#1和#4之間的過載,這個可以從下面的例子看出來:

#include

>

using

namespace std

;void func

(int

&)void func

(const

int&)

int main

()注意:函式引數只是乙個副本,是否為const不能作為過載的區別,例如

void func

(int a

);void func

(int

const a

);//error,這裡不能作為函式過載,而是函式的重定義

mysql 函式過載 C 方法過載(函式過載)

在講解 c 構造方法 時提到定義構造方法時提到可以定義帶 0 到多個引數的構造方法,但構造方法的名稱必須是類名。實際上,這就是乙個典型的方法過載,即方法名稱相同 引數列表不同。引數列表不同主要體現在引數個數或引數的資料型別不同。在呼叫過載的方法時系統是根據所傳 遞引數的不同判斷呼叫的是哪個方法。例項...

C 函式 函式過載

如果同一作用域內的幾個函式名字相同但形參列表不同,我們稱之為過載函式。void print const char cp void print const int beg,const int end void print const int ia,size t size 這些函式接受的形參型別不一樣,...

C 函式過載

1.概述 如果兩個函式名字相同並且在相同的域中被宣告,但是參數列不同,則它們就是過載函式overloadedfunction。1.1 過載函式條件 引數型別或引數個數不同。返回值不同不能視為過載。是否為常函式不能視為過載 對於普通型別引數只有const volatile區別不能視為過載,但是如果引數...