C 學習 多型 抽象類

2021-08-13 13:51:48 字數 483 閱讀 9111

多型

概念:run-time binding(函式名和函式入口點的繫結發生在程式執行時刻)

complie-time binding(程式再編譯時進行函式名和函式入口的繫結)

多型的本質:run-time binding

多型的條件:

1.必須有繼承

2.子類要把虛函式重寫(override)(派生類的virtual可以省略)

3.父類型別的指標或引用(不能是物件),要用它呼叫虛函式

多型的好處:靈活性

析構中的多型:

析構函式也要加virtual,不然析構時只會呼叫基類的析構函式,而不會呼叫派生類的析構函式

抽象類(一般用在多型) 

class abc;
抽象類不能例項化,但可以有指標或引用

子類繼承以後要把父類全部重寫,不然子類也還是乙個抽象類

多型 抽象類

多型 當中體現多型性,就是父類指向子類 左父右子 格式 父類名稱 物件名 new 子類名稱 介面名稱 物件名 new 實現類名稱 使用多型,物件向上轉型,是絕對安全的,但物件一旦向上轉型父類,就不能呼叫子類原本特有的類容 物件向下轉型,就是還原的動作 格式 子類名稱 物件名 子類名稱 父類物件 含義...

C 技術 多型 抽象類

2.實現過程是 用基類的指標類指向派生類的位址,在呼叫虛函式 因為呼叫虛函式是通 過查虛表執行函式的,但虛表中的虛函式指標可以在繼承的時候被子類覆蓋 3.在多型中會出現父類指標指向子類,那麼父類指標用完後會 delete,那麼這時候缺省會調 用父類的虛構函式,如果子類中有記憶體要釋放,那就被洩露掉了...

c 多型(四) 抽象類

抽象類也叫做介面類,在虛函式的後面寫上 0 那麼這個函式就變成了乙個純虛函式,包含純虛函式的類叫做抽象類,其不能例項化出物件。繼承了基類的派生類也不能例項化出物件,除非重寫純虛函式,只有重寫了純虛函式,派生類才能例項化物件。也就是說,純虛函式規範了派生類必須重寫虛函式,另外,純虛函式更體現出了介面繼...