YTU 2477 C 習題 抽象基類

2021-08-02 08:31:38 字數 767 閱讀 7045

編寫乙個程式,宣告抽象基類shape,由它派生出3個派生類: circle(圓形)、rectangle(矩形)、********(三角形),用乙個函式printarea分別輸出以上三者的面積(結果保留兩位小數),3個圖形的資料在定義物件時給定。

圓的半徑

矩形的邊長

三角形的底與高

圓的面積

矩形的面積

三角形的面積

12.6

4.5 8.4

4.5 8.4

area of circle = 498.76

area 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,抽象出...