PTA 抽象類Shape 多型)

2021-10-07 02:44:34 字數 1335 閱讀 5023

請編寫乙個抽象類shape,包括兩個純虛函式,分別為計算面積getarea()和計算周長getperim()。通過shape類派生出矩形類rectangle和圓類circle,並計算各自的面積和周長。

測試用例具體要求:輸入1表示測試矩形類,之後輸入矩形長和寬。輸入2表示測試圓類,之後輸入圓半徑。

shape類定義如下:

class

shape

;

裁判測試程式樣例:

#include

using

namespace std;

const

double pi=

3.14

;class

shape

;/* ------請在這裡填寫答案 ------*/

intmain()

case2:

}return0;

}

輸入樣例1:

在這裡給出一組輸入。例如:

1

45

輸出樣例1:

在這裡給出相應的輸出。例如:

area=

20perim=

18

輸入樣例2:

在這裡給出一組輸入。例如:

2

5

輸出樣例2:

在這裡給出相應的輸出。例如:

area=

78.5

perim=

31.4

class

rectangle

:public shape

;//建構函式初始化

double

getarea()

;//函式例項化(對於純虛函式的繼承一定要例項化不然編譯會出錯)

double

getperim()

;};double rectangle::

getperim()

double rectangle::

getarea()

class

circle

:public shape

;//建構函式初始化

double

getarea()

;//函式例項化

double

getperim()

;};double circle::

getperim()

double circle::

getarea()

多型 抽象類

多型 當中體現多型性,就是父類指向子類 左父右子 格式 父類名稱 物件名 new 子類名稱 介面名稱 物件名 new 實現類名稱 使用多型,物件向上轉型,是絕對安全的,但物件一旦向上轉型父類,就不能呼叫子類原本特有的類容 物件向下轉型,就是還原的動作 格式 子類名稱 物件名 子類名稱 父類物件 含義...

多型 抽象方法 抽象類

類的多型主要指方法重寫 abstract關鍵字修飾的類 方法 就是抽象類 方法 方法重寫的要求 子類中重寫的方法要與父類中的方法同名 子類中重寫的方法形參個數要與父類中同名方法的形參個數一致 子類中重寫的方法型別要與父類中同名方法的型別一致 靜態 成員方法 子類中重寫的方法的訪問許可權不能低於父類中...

多型及抽象類

1 多型是指 在執行期間 而非編譯期間 判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。2 所謂多型,就是指乙個引用 型別 在不同的情況下的多種狀態。也可以理解為,多型是指通過指向父類的指標,來呼叫在不同子類中實現的方法。class animal public void enjoy cl...