#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,它是用來留給子類去實現的。這下大家或許會疑惑,那麼包含了這個函式的類怎麼建立物件呢?事實上這個類是建立不了例項的,因為包含了乙個及以上個純虛函式的類被稱為抽象類。抽象類是不...