題解 多型 Shape

2021-10-11 05:35:59 字數 1486 閱讀 2453

編寫乙個抽象類shape,包含兩個純虛函式getarea()計算面積,getperim()計算周長

在此基礎上派生rectangle類和circle類,給出純虛函式的具體實現。通過繼承rectangle類,建立乙個派生類square。在主函式裡建立類物件進行測試。

輸入共一行,四個浮點數,分別表示長方形的長lenth、寬width,圓的半徑radius,正方形的邊長x

輸出共六行,分別輸出長方形,圓和正方形的面積和周長,輸出保留5位小數,格式如下

輸入 #1 複製

1.1

2.23.3

4.4

輸出 #1 複製

rectangle_area=

2.42000

rectangle_perim=

6.60000

circle_area=

34.21194

circle_perim=

20.73451

square_area=

19.36000

square_perim=

17.60000

pi=acos(-1)

#include

#include

#include

using

namespace std;

double pi =

acos(-

1);class

shape

;class

rectangle

:public shape

;class

circle

:public shape

;class

square

:public shape

;int

main()

rectangle::

rectangle

(double length,

double width)

double rectangle::

getarea()

double rectangle::

getperim()

void rectangle::

show()

circle::

circle

(double radius)

double circle::

getarea()

double circle::

getperim()

void circle::

show()

square::

square

(double x)

double square::

getarea()

double square::

getperim()

void square::

show()

題解 派生 Shape

1 定義乙個基類shape,成員函式 getarea 計算圖形面積 getperim 計算圖形的周長 由於具體圖形還不確定,實際無法計算,可以放乙個空函式在這裡。2 在此基礎上派生rectangle類和circle類,在兩個類內增加相應的資料成員和成員函式,重新定義getarea 和getperim...

PTA 抽象類Shape 多型)

請編寫乙個抽象類shape,包括兩個純虛函式,分別為計算面積getarea 和計算周長getperim 通過shape類派生出矩形類rectangle和圓類circle,並計算各自的面積和周長。測試用例具體要求 輸入1表示測試矩形類,之後輸入矩形長和寬。輸入2表示測試圓類,之後輸入圓半徑。shape...

多型問題解析

首先,什麼是多型?多型 多種形態 class 動物 class 貓 extends 動物 把貓看成貓 貓 mao new 貓 常態 把貓看成動物 動物 mao new 貓 多型 把子類型別的物件看成了父類型別 貓 mao new 動物 錯誤的 多型 父類型別的引用指向了子類物件 多型的前提條件 存在...