定義平面二維點類cpoint,有資料成員x座標,y座標,函式成員(建構函式複製建構函式、虛函式求面積getarea,虛函式求體積函式getvolume、輸出點資訊函式print。由cpoint類派生出圓類cirle類(新增資料成員半徑radius),函式成員(建構函式、複製建構函式、求面積getarea,虛函式求體積函式getvolume、輸出圓資訊函式print。 再由ccirle類派生出圓柱體ccylinder類(新增資料成員高度height),函式成員(建構函式、複製建構函式、求表面積getarea,求體積函式getvolume、輸出圓柱體資訊函式print。在主函式測試這個這三個類。
輸入格式:
0 0 例如:第一行讀入圓心座標。 1 2 第二行讀入半徑與高度。
輸出格式:
分四行輸出,分別代表圓心、底面積、表面積、體積。
輸入樣例:
在這裡給出一組輸入。例如:
0 0
1 2
輸出樣例:在這裡給出相應的輸出。例如:
center:(0,0)
radius=1
height:2
basalarea:3.14159
supfacearea:18.8496
volume:6.28319
#include
#include
#define pi 3.1415926
using
namespace std;
//點class
cpoint
//求面積
virtual
double
getvolume()
//求體積
void
print()
;};cpoint::
cpoint
(double x,
double y):x
(x),
y(y)
cpoint::
cpoint
(cpoint &cp):x
(cp.x),y
(cp.y)
void cpoint::
print()
//圓
class
cirle
:public cpoint
double
getarea()
;//求面積
virtual
double
getvolume()
;//求體積
void
print()
;};cirle::
cirle
(double x,
double y,
double r)
:cpoint
(x,y)
,radius
(fabs
(r))
cirle::
cirle
(cirle& c)
:cpoint
(c),
radius
(c.radius)
double cirle::
getarea()
double cirle::
getvolume()
void cirle::
print()
//圓柱
class
ccylinder
:public cirle
double
getarea()
;//求面積
virtual
double
getvolume()
;//求體積
void
print()
;};ccylinder::
ccylinder
(double x,
double y,
double r,
double h)
:cirle
(x,y,r)
,height
(fabs
(h))
ccylinder::
ccylinder
(ccylinder& cc)
:cirle
(cc)
,height
(cc.height)
double ccylinder::
getarea()
double ccylinder::
getvolume()
void ccylinder::
print()
intmain()
執行截圖:
ps:這道題裡面有乙個非常坑爹的地方,就是π,我一開始看到題目的樣例裡面輸出裡面,我以為這裡的π是3.1414159,然後交到pta上,一直都是部分正確。直到後來看到別人的答案才知道,原來這裡的π是3.1415926,這已經不是我第1次栽在π那裡。
c 類的繼承與派生
一 基本概念 1 類的繼承,是新的類從已有類那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。2 派生類的宣告 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,繼承方式 基類名n 3 乙個派生類可以同時有多個基類,這種情況稱為...
C 類的繼承與派生
1.乙個包含多級派生 構造 析構函式的綜合例項 include using namespace std class a a 析構函式,關於析構函式只做簡單介紹 void f1 int i protected void f2 int j private int k class b public a 定...
C 類的繼承與派生
繼承是物件導向程式設計中最重要的乙個概念。繼承允許我們根據乙個類來定義另乙個類,達到了 功能重用效果。當建立乙個類時,如果待建立的類與另乙個類存在某些共同特徵,程式設計師不需要全部重新編寫成員變數和成員函式,只需指定繼承另乙個類即可,被繼承的類稱為基類或父類,新建的類稱為派生類或子類。定義乙個派生類...