C 基礎 多型

2021-08-03 22:12:39 字數 350 閱讀 3226

多型

分類 編譯時多型/早繫結/overload:函式和運算子過載

執行時多型/晚繫結/override:繼承與虛函式

虛函式表

虛函式表是乙個儲存類成員函式指標的資料結構

虛函式表是由編譯器自動生成和維護的

『virtual』函式會被編譯器放入虛函式表中

存在虛函式時,每個物件當中都有乙個指向虛函式表的指標(vptr指標)

純虛函式

純虛函式是在基類中宣告的虛函式,它在基類中沒有定義,但要求任何派生類都要定義自己的實現方法。在基類中實現純虛函式的方法是在函式原型後加『=0』

class 類名;

C 基礎 多型

多型 為了程式的可擴充套件性,開放封閉原則 對修改封閉,對擴充套件開放 多型就是指不同物件收到相同訊息時,會產生不同的行為,同乙個類在不同的場合下表現出不同的行為特徵。多型的作用 把不同的子類物件都當做父類來看,可以遮蔽不同子類物件之間的差異性,寫出通用的 做出通用的程式設計,已以適應需求的不斷變化...

C 基礎之多型

多型分為靜態多型和動態多型。靜態多型分為函式過載和泛型程式設計。動態多型是通過虛函式來實現的。靜態多型 叫靜態繫結或早繫結 編譯器在編譯期間完成的,編譯器可以根據函式實參的型別 可能會進行隱式的型別轉換 注意 巨集不是靜態多型,巨集是在預處理階段完成的動態多型 又叫動態繫結或者晚繫結 在程式執行期間...

c 基礎之 多型

c 物件導向的三大特徵 虛函式 是在基類中使用關鍵字 virtual 宣告的函式。在派生類中重新定義基類中定義的虛函式時,會告訴編譯器不要靜態鏈結到該函式。我們想要的是在程式中任意點可以根據所呼叫的物件型別來選擇呼叫的函式,這種操作被稱為動態鏈結,或後期繫結。多型是由虛函式實現的,而虛函式主要是通過...