函式過載特性

2021-07-10 17:52:05 字數 580 閱讀 3517

一般函式的過載:函式過載是指在同一作用域內,可以有一組具有相同函式名,不同引數列表的函式,這組函式被稱為過載函式。注:不將返回型別考慮到函式過載中。

虛函式的過載:過載乙個虛函式時,要求函式名、返回型別、引數個數、引數型別和順序完全相同。否則會出現以下問題:

1)如果僅僅返回型別不同,其餘相同,則c++認為是錯誤過載,因為只靠返回型別不同的資訊進行函式匹配是含糊的。

2)如果函式原型不同,僅函式名相同,則c++認為是一般函式過載,因而丟失虛特性。

舉例分析:

#include

using

namespace

std;

class a

virtual

void vf2()

virtual

void vf3()

void fun()

};class b:public a

void vf2(int x)

//char vf3() {};僅返回型別不同,錯誤過載

void fun()

};int main()

c 函式過載 多型特性

在同乙個作用域內,可以宣告幾個功能類似的同名函式,但是這些同名函式的形式引數 指引數的個數 型別或者順序 必須不同。不能僅通過返回型別的不同來過載函式。當您呼叫乙個過載函式或過載運算子時,編譯器通過把您所使用的引數型別與定義中的引數型別進行比較,決定選用最合適的定義。選擇最合適的過載函式或過載運算子...

C 函式的高階特性 函式過載

對比於c 語言的函式,c 增加了過載 overloaded 內聯 inline const 和virtual 四種新機制。其中過載和內聯機制既可用於全域性函式也可用於類的成員函式,const 與 virtual 機制僅用於類的成員函式。1.過載 overloaded 過載的理由 1 在c 程式中,可...

C 函式的高階特性 函式過載

對比於c 語言的函式,c 增加了過載 overloaded 內聯 inline const 和virtual 四種新機制。其中過載和內聯機制既可用於全域性函式也可用於類的成員函式,const 與 virtual 機制僅用於類的成員函式。1.過載 overloaded 過載的理由 1 在c 程式中,可...