純虛函式與抽象類

2021-06-27 07:50:01 字數 496 閱讀 5286

有時我們僅僅想讓基類表示一種抽象的概念,而不與具體的事物相聯絡

如:我在基類中定義乙個多邊形的函式shape(),但是我並不想讓它指向某乙個具體的多邊形(三角形呀,四邊形呀),我只想讓它指明多邊形都共有的特徵(都有兩條以上的邊構成,都有角。。。),然後在它的派生類中在對對變形進行具體化

這時便用到了純虛函式:

純虛函式的定義方式:

class 類名

virtual   函式型別  函式名(參數列)=0;

看下面的乙個程式

#include

using namespace std;

class duobian

;class ********:public duobian

這就是純虛函式最簡單的用法

但是需要注意的是,純虛函式是在基類中說明的乙個函式,它在該基類中沒有定義,但要求它在自己的派生類中必須定義自己的版本或重新說明為純虛函式。

抽象類:如果乙個類最少有乙個純虛函式就稱該類為抽象類

純虛函式與抽象類

一 純虛函式 在基類中宣告的虛函式在各派生類中根據實際需要給出各自定義。syntax virtual returntype functionname 參數列 0 宣告為純虛函式後,基類中就可以不再給出函式的實現部分,函式體由派生類給出。在基類中對純虛函式定義的函式體的呼叫,必須通過 基類名 函式名 ...

純虛函式與抽象類

1 純虛函式是乙個在基類中說明的虛函式,在基類中沒有定義,要求任何派生類都定義自己的版本 2 純虛函式為各派生類提供乙個公共介面 介面的封裝設計 3 純虛函式說明形式 virtual 型別 函式名 參數列 0 4 乙個具有純虛函式的基類稱為抽象類。定義乙個抽象類,含有純虛函式類叫做抽象類。1 如果子...

純虛函式與抽象類

一.純虛函式 virtual 0 形如 class 類名 的虛函式,稱為純虛函式或抽象方法 class shape 純虛函式可以不定義,但如果定義,必須寫在類的外部 void shape draw void const 在基類的構造和析構函式中呼叫純虛函式,結果將是未定義的。通常會在鏈結階段報告失敗...