虛函式和多型 2

2021-10-07 15:39:58 字數 1027 閱讀 6898

虛函式和多型_2

檢視提交

統計提問

總時間限制: 5000ms 記憶體限制: 65535kb

描述由於球體和圓柱體都可以看做由圓繼承而來,所以可以定義圓類circle作為基類。在circle類中定義乙個資料成員radius和兩個虛函式area()和volume()。由circle類派生sphere類和column類。在派生類中對虛函式area()和volume()重新定義,分別求球體和圓柱體的體積及表面積。

輸入球的半徑

圓柱體的底面半徑和高度

輸出球的表面積和體積

圓柱體的表面積和體積

樣例輸入

2010 30

樣例輸出

s.area = 5024

s.volume= 33493.3

c.area = 2512

c.volume= 9420

提示pi= 3.14。

不必進行輸出格式控制。

#include

#include

#include

using

namespace std;

class

circle

virtual

double

area()

=0;virtual

double

volume()

=0;int

get()}

;class

sphere

:public circle

double

area()

double

volume()

};class

column

:public circle

double

area()

double

volume()

};intmain()

還是用了純虛函式,不過這次沒用指標,雖然不要求格式控制,但還是按樣例的格式寫的,所有的強迫症都用在了打**上。

多型和虛函式

在c 中,多型是通過虛函式實現的。基類如果把乙個函式宣告為虛的 virtual 就表明繼承類可以覆蓋 override 這個函式 從而表現不同的行為,呈現出多型性 對於每乙個有虛函式的類,或者覆蓋了乙個或多個基類虛函式的繼承類,可認為有乙個與之關聯的虛函式表 v table v table 表中的每...

虛函式和多型

虛函式的概念 在類的成員函式前加virtual關鍵字,這個成員函式稱為虛函式。虛函式重寫 當在子類的定義了乙個與父類完全相同的虛函式時,則稱子類的這個函式重寫 也稱覆蓋 了父類的這個虛函式。include using namespace std class person public virtual...

虛函式和多型

pragma once 普通飛機 class plane include plane.h include using namespace std void plane fly void plane land pragma once include plane.h 直公升飛機 class jet pu...