多型
概念: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 那麼這個函式就變成了乙個純虛函式,包含純虛函式的類叫做抽象類,其不能例項化出物件。繼承了基類的派生類也不能例項化出物件,除非重寫純虛函式,只有重寫了純虛函式,派生類才能例項化物件。也就是說,純虛函式規範了派生類必須重寫虛函式,另外,純虛函式更體現出了介面繼...