C 筆記 純虛函式和抽象類

2021-07-09 06:32:48 字數 1071 閱讀 9774

1:純虛函式和抽象類

1>純虛函式是乙個在基類中說明的虛函式,在基類中沒有定義,要求任何派生類都定義自己的版本

2>純虛函式為各派生類提供乙個公共介面(介面的封裝和設計、軟體的模組功能劃分)

3>純虛函式說明形式:

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

4>乙個具有純虛函式的基類稱為抽象類

話不多說,直接上**:

#include using namespace std;

class figure

;class cricle :public figure

virtual void getarea()

private:

int r;

};class tri :public figure

virtual void getarea()

private:

int h;

int d;

};class squre :public figure

virtual void getarea()

private:

int w;

int h;

};void showarea(figure *base)

int main(void)

編譯執行,結果如下:

需要注意的是:

1>抽象類不可以建立物件;   eg: figure  f1       //error

2>可以宣告抽象類的指標;   eg: figure  *f1     //ok

3>抽象類不能作為返回值型別;eg:   figure   fun()       //error

4>抽象類不能作為引數型別;eg:void fun(figure)//error

5>可以宣告抽象類的引用;eg:figure & fun(figure &f1)//ok

如果乙個類不想成為抽象類,需要實現其基類所有的純虛函式,否則就是抽象類。

純虛函式和抽象類筆記

在多型中,通常父類中虛函式的實現是毫無意義的,主要通過呼叫子類重寫的內容。因此可以將虛函式改為純虛函式。純虛函式語法 virtual 返回值型別 函式名 引數列表 0 當類中有了純虛函式,這個類也稱為抽象函式 抽象函式特點 1.無法例項化物件 2.子類必須重寫抽象類的純虛函式,否則也屬於抽象類 in...

C 純虛函式和抽象類

本文 在介紹抽象類之前,我們先介紹一下純虛函式。1.純虛函式 在基類中僅僅給出宣告,不對虛函式實現定義,而是在派生類中實現。這個虛函式稱為純虛函式。普通函式如果僅僅給出它的宣告而沒有實現它的函式體,這是編譯不過的。純虛函式沒有函式體。純虛函式需要在宣告之後加個 0 class 基類名 2.抽象類 含...

c 純虛函式和抽象類

在c 多型中,父類的作用就是提供乙個虛函式類方便進行多型,那麼實際上父類的用處幾乎等於沒有,所以c 提供了純虛函式和抽象類 純虛函式的語法 virtual 返回值型別 函式名 引數列表 0 只要在類中建立出純虛函式,那麼這個類就會變成抽象類,無法例項化物件,也就是無法建立物件,同時如果他的子類沒有重...