純虛函式和抽象類的介面作用

2021-10-04 04:24:36 字數 849 閱讀 1941

#define  _crt_secure_no_warnings 

#include #include using namespace std;

//圖形類

//擁有純虛函式的類, 就叫抽象類

class shape

;//圓類

//如果 乙個子類繼承了抽象類, 那麼一定要重寫這個純虛函式。

class circle :public shape

//重寫父類抽象類的純虛函式

virtual double getarea()

virtual void print()

private:

double r;//半徑

};//實現乙個正方形

class rect :public shape

//是乙個抽象的介面,說明圖形是有乙個得到面積方法

virtual double getarea()

//定義乙個列印面積的介面

virtual void print()

private:

double a;//邊長

};//三角形

class tri :public shape

virtual double getarea()

virtual void print()

private:

double a;//底

double h;//高

};//乙個傳遞抽象類指標的架構函式

void printarea(shape *p)

//業務層

int main(void)

純虛函式和抽象類

純虛函式和抽象類 語法格式 virtual 返回值型別 函式名 引數 0 1 純虛函式沒有函式體,之有 宣告 0.只表示是純虛函式,2 0 不表示返回值是0,只是乙個形式,告訴編譯器這是純虛函式 3 包含純虛函式的類稱為抽象類 4 抽象類通常稱為基類,讓派生類去實現純虛函式。派生類必須實現純虛函式才...

純虛函式和抽象類

一.純虛函式和抽象類的概念 用 顯示 class figure 抽象類 注意一下幾點 figure c1 錯誤,抽象類不能建立物件 figure p null 正確,抽象類可以宣告自己的指標 figure fun 錯誤,抽象類不能作為返回型別 void fun figure 錯誤,抽象類不能作為引數...

純虛函式和抽象類

虛函式的定義就不囉嗦了,純虛函式和虛函式類似,但是不提供實現!啥意思呢?見下面的例子 這個方法就是純虛函式,別丟了後邊那個 0,它是用來留給子類去實現的。這下大家或許會疑惑,那麼包含了這個函式的類怎麼建立物件呢?事實上這個類是建立不了例項的,因為包含了乙個及以上個純虛函式的類被稱為抽象類。抽象類是不...