問題及代碼:
【項目 - 點-圓-圓柱類族的設計】
按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務:
(1)先建立一個Point(點)類,包含數據成員x,y(座標點),實現需要的成員函數,並設計main函數完成測試;
(2)以Point爲基類,派生出一個Circle(圓)類,增加數據成員r(半徑),以及求面積的成員函數area,實現其他需要的成員函數,設計main函數完成測試;
(3)再以Circle類爲直接基類,派生出一個Cylinder(圓柱體)類,再增加數據成員h(高),,以及求圓柱表面積的成員函數area和求圓柱體積的成員函數volume,實現需要的成員函數,並設計main函數完成測試。
要求編寫程序,設計出各類中“需要的成員函數”,包括構造函數、析構函數、修改數據成員和獲取數據成員的公共接口、用於輸出的重載運算符“<<”函數等。
/*
Copyright(c)2016,煙臺大學計算機與控制工程學院
All rights reserced
文件名稱:test.cpp
作 者:蔡汝佳
完成日期:2016年5月18日
版 本 號:v1.0
問題描述:
輸入描述:
程序輸出:
*/
#include <iostream>
using namespace std;
class Point
{
public:
Point(double xx=0,double yy=0)
{
x=xx;
y=yy;
}
void setpoint(double ,double);
double getx(){return x;}
double gety(){return y;}
void Point_show();
private:
double x,y;
};
void Point::setpoint(double xx,double yy)
{
x=xx;
y=yy;
}
void Point::Point_show()
{
cout<<"x="<<x<<" y="<<y<<endl;
}
int main()
{
Point p(4,5);
p.Point_show();
p.setpoint(3.5,2.5);
p.Point_show();
return 0;
}
運行結果:
知識點總結:
學習心得: