自考 C 雜記 多型性及虛函式

2021-09-25 12:07:56 字數 522 閱讀 7976

靜態聯編:編譯時的多型性,函式過載實現

動態聯編:執行時的多型性,虛函式實現

只能是乙個成員函式,不能是靜態成員,用virtual關鍵字宣告。

一旦基類定義了虛函式,該基類的派生類中的同名函式(返回值、引數列表與基類中的同名虛函式完全一致)那麼也自動成為虛函式。

虛函式的呼叫規則是:根據當前物件,優先呼叫物件本身的虛成員函式。

1)類之間的繼承關係滿足賦值相容性規則

2)改寫了同名虛函式

3)根據賦值相容性規則適用指標(或引用)

在建構函式和析構函式中呼叫虛函式採用靜態聯編,即它們所呼叫的虛函式是自己的類或者基類中定義的函式,但不是任何在派生類中重定義的虛函式。(2018版p172)

純虛函式的一般形式:

class 類名;
1.當編譯系統編譯含有虛函式的類時,將為它建立乙個虛函式表,表中的每乙個元素都指向乙個_________。

【答案】虛函式的位址

c 多型性 虛函式

c 中多型性是指通過用virtual關鍵字來繫結同名同引數的函式,實現在編譯中進行後繫結,即在編譯過程中不繫結類,在執行時與具體的物件進行繫結,這樣就可以動態地與實際聯絡 比如乙個類 animal 有乙個虛函式breath 魚類 fish 也有函式breath 狗類 dog 函式breath 具體呼...

c 多型性 虛函式

虛函式與純虛函式的區別 1 擁有虛函式的類可以宣告物件,但擁有純虛函式的類不可以宣告物件 只能宣告乙個指標,並且不能給其分配記憶體 並且將這個類稱為抽象類 特點 1 虛函式是動態繫結的基礎。2 是非靜態的成員函式。在類的宣告中,在函式原型之前寫virtual。不能宣告為靜態函式 3 virtual ...

多型性 虛函式

先來講講賦值相容規則。前面說過,派生類如果是從基類公有繼承的,則它會包含基類中除建構函式和析構函式外的所有成員,基類的公有成員也成為派生類的公有成員,又因為物件只能訪問類的公有成員,所以基類物件具有的功能,派生類物件都有。這樣就引出了賦值相容規則。賦值相容規則就是指在基類物件可以使用的地方都可以用公...