虛函式和多型
1:多型性是指乙個名字,多種語義;或介面相同,多種實現。
2:虛函式允許函式呼叫與函式體的聯絡在執行時才進行,稱為動態聯編。
3:實現執行時多型的關鍵首先是要說明虛函式,另外,必須用類指標呼叫派生類的不同實現版本
4:注意點:
①:乙個虛函式,在派生類層介面相同的過載函式都保持虛特性
②:虛函式必須是類的成員函式
三:不能將友元說明為虛函式,但虛函式可以是另乙個類的友元
④:析構函式可以是虛函式,但建構函式不能是虛函式。
5:虛函式的過載特性:
①:在派生類中過載基類的虛函式要求函式名、返回型別、引數個數、引數型別和順序完全相同
②:如果僅僅返回型別不同,c++
認為是錯誤過載。如果函式原型不同,僅函式名相同,丟失虛特性
6:虛析構函式:
①:建構函式不能是虛函式。建立乙個派生類物件時,必須從類層次的根開始,沿著繼承路徑逐個呼叫基類的建構函式
②:析構函式可以是虛的。虛析構函式用於指引 delete
運算子正確析構動態物件
7:建構函式、內聯成員函式、靜態成員函式不能是虛函式。
8:析構函式可以是虛函式,通常宣告為虛函式。
9:純虛函式和抽象類:
純虛函式是一種特殊的虛函式,在許多情況下,在基類中不能對虛函式給出有意義的實現,而把它宣告為純虛函式,它的實現留給該基類的派生類去做。
二:典型**:
#includeusing namespace std ;
class base
void who()
protected: char x;
} ;class first_d : public base
void who()
protected: char y;
} ;class second_d : public first_d
void who()
protected: char z;
} ;int main()
虛函式知識點總結
一 虛函式的定義 c 中的虛函式時定義在基類中的函式,子類必須對其進行覆蓋。在類中宣告 無函式體的形式叫做宣告 虛函式的格式 virtual void display 二 虛函式的作用 1.定義子類物件,並且可以呼叫物件中未被子類覆蓋的積累函式a同時在a中,又呼叫了已被子類覆蓋的基類函式b。這樣的話...
虛函式與多型知識總結
轉眼間就到學期末了,這是本學期最後一堂課了.一 知識總結 一 多型 多型性 polymorphism 是指乙個名字,多種語義 或介面相同,多種實現。過載函式是多型性的一種簡單形式。虛函式允許函式呼叫與函式體的聯絡在執行時才進行,稱為動態聯編。二 虛函式和動態聯編 冠以關鍵字virtual的成員函式稱...
java多型知識點總結
多型 一種事物有多種表現形式。物件導向的最後乙個特徵,繼承和封裝都是為多型打基礎!生活中的多型 打招呼 中國人 你好 英國人 hello 日本人 拷逆七娃 南韓人 阿娘哈賽you 泰國人 薩瓦迪卡 1 方法的多型性 方法的重寫和過載 2 物件的多型性 物件的轉型上!person p new stud...