虛函式,純虛函式區別

2021-08-16 13:10:17 字數 291 閱讀 7250

1、虛函式的作用是「執行時多型」和過載,父類中提供虛函式的實現,為子類提供預設的函式實現;子類可以重寫父類的虛函式實現子類的特殊化;

2、純虛函式:包含純虛函式的類稱為抽象類。抽象類不可以new出物件,只有實現了這個純虛函式的子類才能new出物件。純虛函式更像是只提供申明,不實現,是對子類的約束,是介面繼承。純虛函式也是一種執行時多型。

3、普通函式:靜態編譯的,沒有執行時多型。

注意:純虛函式在基類中只申明不定義,但是必須在子類中加以實現,像介面。

虛函式在基類中是由定義的,即便是空,子類中可以重寫。

虛函式 與 純虛函式 區別

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

虛函式 純虛函式

一 定義.純虛函式是在基類中宣告的虛函式,它在基類中沒有定義,但要求任何派生類都要定義自己的實現方法。在基類中實現純虛函式的方法是在函式原型後加 0 virtual void funtion1 0 二 引入原因 1 為了方便使用多型特性,我們常常需要在基類中定義虛函式。2 在很多情況下,基類本身生成...

虛函式 純虛函式

虛函式的作用是允許在派生類中重新定義與基類同名的函式,並且可以通過基類指標引用來訪問基類和派生類中的同名函式。include using namespace std class student student類成員函式的實現 宣告抽象基類shape class shape virtual float...