虛函式和純虛函式

2021-07-09 12:04:15 字數 703 閱讀 7598

一、定義:都有virtual關鍵字

乙個函式為虛函式,該函式可以實現,允許用基類的指標呼叫子類的同名函式。

乙個函式為純虛函式,該函式不能實現,子類繼承這個類必須實現這個函式才能例項化物件。

class a

class b

;void main()

二、用法

有純虛函式的類是抽象類,不能生成物件,只能派生。他派生的類的純虛函式沒有被改寫,那麼,它的派生類還是個抽象類。

定義純虛函式就是為了讓基類不可例項化。

虛函式在多型中間的使用: 多型一般就是通過基類的指標在執行時刻呼叫子類來實現的。

1)有virtual關鍵字

//定義基類animal,有虛函式born()

虛函式和純虛函式

除了繼承外,c 的另乙個優良特性是支援多型,即允許將派生類的物件當作基類的物件使用。如果a是基類,b和c是a的派生類,多態函式test的引數是a的指標。那麼test函式可以引用a b c的物件。示例程式如下 class a void test a a class b public a class c...

虛函式 和 純虛函式

簡單的說,介面 就是該類的public函式。由於在類的外部一般只能通過這些公共函式才能訪問乙個類,所以這些函式就稱為類的介面。雖然乙個類也可以存在public成員資料,但是,一般不要編寫這種能夠直接在類的外部訪問的public資料,因為這樣就使資訊隱藏性受到一定的 破壞 當使用乙個基類的指標指向其乙...

純虛函式和虛函式

首先 強調乙個概念 定義乙個函式為虛函式,不代表函式為不被實現的函式。定義他為虛函式是為了允許用基類的指標來呼叫子類的這個函式。定義乙個函式為純虛函式,才代表函式沒有被實現。定義純虛函式是為了實現乙個介面,起到乙個規範的作用,規範繼承這個類的程式設計師必須實現這個函式。1 簡介 假設我們有下面的類層...