多型的學習 C

2021-10-10 06:41:04 字數 964 閱讀 9114

多型是不同繼承關係的類物件,去呼叫同一函式,產生了不同行為。

必須通過基類的指標或者引用呼叫虛函式

被呼叫的函式必須是虛函式,且派生類必須對基類的虛函式進行重寫

final——修飾虛函式,表示該虛函式不能再被繼承

class

a final//表示該類不能再被繼承};

classb:

public a

}

override——檢查派生類虛函式是否重寫了基類的某個虛函式,如果沒有重寫編譯報錯

抽象就是在現實中沒有對應的實體。

在虛函式的後面寫上=0,則這個函式為純虛函式。**包含純虛函式的類叫做抽象類(也叫介面類),抽象類不能例項化出物件。**派生類繼承後也不能例項化出物件,只有重寫純虛函式,派生類才能例項化出物件。

//抽象類

classa;

//繼承

虛函式存在哪?虛表存在哪?

滿足多型的函式呼叫,是執行起來以後到物件中尋找的,不滿足多型的函式呼叫是編譯時確認好的;

多繼承派生類的未重寫的虛函式放在第乙個繼承基類部分的虛函式表中;

靜態繫結——在程式編譯階段確定程式的行為,也稱為靜態多型。

動態繫結——在程式執行期間,根據拿到的型別確定程式的具體行為,呼叫具體的函式,也稱為動態多型。

C 學習筆記之多型 多型的學習 多型學習

c 學習筆記之多型 多型的學習 多型學習 多型分為兩類 靜態多型 函式過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型 靜態多型和動態多型的區別 靜態多型的函式位址早繫結 編譯階段確定函式位址 動態多型的函式位址晚繫結 執行階段確定函式位址 動態多型滿足條件 動態多型...

c 多型的學習

多型面試題強化 多型原理 總結記憶2 c 編譯器並不是區分子類物件和父類物件,而是根據物件指標 找vptr指標,再找虛函式入口,實現遲繫結,支援了多型 多型發生的三個必要條件 define crt secure no warnings include include using namespace ...

C 多型學習

純虛函式,0是告訴編譯器函式沒有主體 virtual int area 0 這個學習中有個點不懂,是關於指標的,先看 class shape virtual int area 純虛函式 virtual int area 0 class rectangle public shape int area ...