編寫乙個程式,宣告抽象基類shape,由它派生出3個派生類: circle(圓形)、rectangle(矩形)、********(三角形),用乙個函式printarea分別輸出以上三者的面積(結果保留兩位小數),3個圖形的資料在定義物件時給定。
圓的半徑
矩形的邊長
三角形的底與高
圓的面積
矩形的面積
三角形的面積
12.64.5 8.4
4.5 8.4
area of circle = 498.76area of rectangle = 37.80
area of ******** = 18.90
#include #include using namespace std;
class shape
;class circle:public shape
float area()
private:
float radius;};
class rectangle:public shape
float area()
private:
float chang,kuan;};
class ********:public shape
float area()
private:
float di,gao;
};void printarea(shape &s)
C 抽象基類
為什麼c 要定義抽象基類?c 為什麼要定義抽象基類?抽象類就是類裡定義了純虛成員函式的類。純虛函式只提供了介面,並沒有具體實現。抽象類不能被例項化,通常是作為基類供子類繼承,子類中重寫虛函式,實現具體的介面。為什麼要定義抽象基類呢?依我所見主要有以下原因 1.最重要的原因是,可以將介面與實現分離。介...
C 學習 抽象基類
抽象基類 abstract base class abc c 提供純虛函式提供未實現的方法,純虛函式宣告的結尾處為 0,例如 class baseellipse virtual baseelipse void move int nx int ny virtual double area const ...
C 抽象基類與虛基類(C primer)
c primer plus p508,抽象基類 c primer plus p556,虛基類 抽象基類是解決如下問題 加入現在需要開發乙個圖形類,表示圓與橢圓 注意,圓是一種特殊的橢圓 所以初步考慮從橢圓類中派生出圓類。但是現在遇到乙個問題,圓與橢圓的面積計算公式不同,所以需要建立乙個abc,抽象出...