虛函式:
定義:在基類中用virtual宣告,不一定不被實現,可以用基類的指標來呼叫子類的對應函式,實現成員函式的動態過載。子類virtual可寫可不寫,編譯器自動加上。
1.以下繼承後的print()相當於重寫,兩個類print()方法輸出結果不同
class a
2.加了vitual 定義為虛函式以後,a類的指標可以呼叫子類的虛函式
class a
抽象類:
定義:包含純虛函式的類稱為抽象類。由於抽象類包含了沒有定義的純虛函式,所以不能定義抽象類的物件。
純虛函式:
定義:基類為子類實現的乙個介面,實現它的子類必須重新實現這個函式。
1.純虛函式是為了方便使用多型特性,為子類定義乙個規範。
2.基類生成物件不合理,比如動物作為乙個基類可以派生出老虎、孔雀等子類,但動物本身生成物件明顯不合常理。
子類必須重寫,基類不能生成物件。
class 《類名》
;
C 虛函式和純虛函式
首先 強調乙個概念 定義乙個函式為虛函式,不代表函式為不被實現的函式。定義他為虛函式是為了允許用基類的指標來呼叫子類的這個函式。定義乙個函式為純虛函式,才代表函式沒有被實現。定義純虛函式是為了實現乙個介面,起到乙個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。1 簡介 假設我們有下面的類層...
C 虛函式和純虛函式
首先 強調乙個概念 定義乙個函式為虛函式,不代表函式為不被實現的函式。定義他為虛函式是為了允許用基類的指標來呼叫子類的這個函式。定義乙個函式為純虛函式,才代表函式沒有被實現。定義純虛函式是為了實現乙個介面,起到乙個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。1 簡介 假設我們有下面的類層...
C 虛函式和純虛函式
帶有virtual關鍵字修飾的函式就是虛函式。class test 引入虛函式,是為了使用多型的特性 通過父類指標呼叫子類重寫的方法 案例1 沒有使用虛函式 class animal class cat public animal include animal.h include using nam...