c 虛函式和純虛函式

2021-08-20 19:48:43 字數 564 閱讀 5400

虛函式:

定義:在基類中用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...