C 入門 純虛函式與抽象類

2022-05-04 22:33:09 字數 678 閱讀 8188

一、純虛函式的定義與使用

1. 在虛函式後加上=0,表示該函式不需要實現**,也代表該類不能例項化;

2.   純虛函式如果沒有實現,那麼包含該純虛函式的類是抽象類;

3.   純虛析構一定要有實現;

二、抽像類的概念

1.  介面類:只是該類作為父類,規範對外使用的介面(某些函式)

2.  抽象類:一定要包含某乙個純虛函式,並且沒有被實現

示例**:

1 #include 2 #include 34

using

namespace

std;56

//父類只是為了子類提供介面:介面類

7class

canimal811

virtual ~canimal() = 0 {}; //

純虛析構一定要有實現

12virtual

void run() = 0; //

純虛函式,不需要實現

13};

1415

class cfish :public

canimal

18virtual ~cfish() {}

19virtual

void run()

20};

2122

intmain()

23

C 純虛函式與抽象類

純虛函式 純虛函式 在基類中將某一成員函式定為虛函式,並不是基類本身的需要,而是考慮到派生類的需 要,在基類中預留了乙個函式名,具體功能留給派生類根據需要去定義。純虛函式是在宣告虛函式時被 初始化 為0的函式。一般形式為 virtual 函式型別 函式名 引數列表 0 如 virtual float...

C 純虛函式與抽象類

在很多的情況下,在基類中一般都不能給出虛函式的具體而有意義的定義,這時我們就可以將它說明為純虛函式。它的具體的定義由它的派生類具體完成,這樣可以使類之間的結構更加清晰,同時也更容易理解。含有純虛函式的類叫抽象類。說明純虛函式的一般格式 class 類名 virtual 返回值型別 函式名 引數列表 ...

C 純虛函式與抽象類

參考 純虛函式 是一種特殊的虛函式,是基類中只有宣告,無 法實現 定義的虛函式。含有純虛函式的類稱為 抽象類 ifndef purevir h define purevir h define pi 3.14159 namespace purev 基類為 抽象類 的派生類都必須定義自己的,和純虛函式同...