一、虛函式的過載特性
1、在派生類中過載基類的虛函式要求函式名、返回型別、引數個數、引數型別和順序完全相同
2、如果僅僅返回型別不同,c++認為是錯誤過載
3、如果函式原型不同,僅函式名相同,丟失虛特性
4、舉例
class derived : public base
;
void g ( )
;
二、虛析構函式
1、建構函式不能是虛函式。建立乙個派生類物件時,必須從類層次的根開始,沿著繼承路徑逐個呼叫基類的建構函式
2、析構函式可以是虛的。虛析構函式用於指引delete 運算子正確析構動態物件
3、舉例
#include
using namespace std ;
class a
};
class b : public a
} ;
int main()
三、幾點注意事項
1.派生類應該從它的基類公有派生。?
2.必須首先在基類中定義虛函式。
3.派生類對基類中宣告虛函式重新定義時,關鍵字virtual可以不寫。
4.一般通過基類指標訪問虛函式時才能體現多型性。
5.乙個虛函式無論被繼承多少次,保持其虛函式特性。
6.虛函式必須是其所在類的成員函式,而不能是友元函式,也不能是靜態函式。
7.建構函式、內聯成員函式、靜態成員函式不能是虛函式。
(虛函式不能以內聯的方式進行處理)
8.析構函式可以是虛函式,通常宣告為虛函式。
C 之多型和虛函式
一.什麼是多型 多型與封裝,繼承一起構成了物件導向的3大特性。多型指向不同物件傳送同一訊息,不同的物件會產生不同的行為。也就是說每個物件用自己的方式去響應共同的訊息。c 有倆中形式的多型。如上課鈴打了,不同班級的同學走向不同的教室。編譯時的多型性,即靜態聯編 程式在編譯之前就可以確定的多型性,通過過...
C 之多型性與虛函式
物件導向程式設計中的多型性是指向不同的物件傳送同乙個訊息,不同物件對應同一訊息產生不同行為。在程式中訊息就是呼叫函式,不同的行為就是指不同的實現方法,即執行不同的函式體。也可以這樣說就是實現了 乙個介面,多種方法 從實現的角度來講,多型可以分為兩類 編譯時的多型性和執行時的多型性。前者是通過靜態聯編...
C 之多型性與虛函式
物件導向程式設計中的多型性是指向不同的物件傳送同乙個訊息,不同物件對應同一訊息產生不同行為。在程式中訊息就是呼叫函式,不同的行為就是指不同的實現方法,即執行不同的函式體。也可以這樣說就是實現了 乙個介面,多種方法 從實現的角度來講,多型可以分為兩類 編譯時的多型性和執行時的多型性。前者是通過靜態聯編...