【問題描述】
(1)在前一周作業題(橢圓類——2)的基礎上,增加乙個point類(點類),
包括私有成員橫縱座標x和y(均為int型),以及引數帶預設值的建構函式point(x=0,y=0);
(2)給point類增加拷貝(複製)建構函式point(point& p);
(3)增加析構函式~point();輸出"point xigou"以及待析構的點的橫縱座標。
(4)增加取橫縱座標值的函式int getx(); int gety();
(5)刪除ellipse類原來的四個資料成員,重新修改為 point a,b;
(6)修改ellipse原來的建構函式ellipse(int x1,int y1,int x2,int y2);
注意使用冒號語法對組合成員進行構造,並在建構函式裡輸出「gouzao 1」和x1,y1,x2,y2的值。
(7)增加乙個ellipse類的建構函式ellipse(point &p1,point &p2);
並在建構函式裡輸出「gouzao 2」和x1,y1,x2,y2的值。
(8)修改ellipse的析構函式的輸出內容為「ellipse xigou」以及待析構物件的外切矩形右下角的橫縱座標。
(9)去掉ellipse類的拷貝建構函式、fun函式,並修改剩餘函式裡的錯誤。
【輸入形式】
主函式:輸入四個座標點,用其初始化乙個ellipse物件e1。
輸入兩對座標點,用其初始化2個point物件p1和p2。
用p1和p2初始化乙個新的ellipse物件e2。
最後呼叫e1和e2的show函式分別顯示座標,呼叫e1和e2的area函式計算並輸出。
【輸出形式】
程式執行結果
【樣例輸入】
-3 1 3 -1
-3 2
3 -2
【樣例輸出】
gouzao 1 -3 1 3 -1
gouzao 2 -3 2 3 -2
-3 1 3 -1
-3 2 3 -2
9.4245
18.849
ellipse xigou 3 -2
point xigou 3 -2
point xigou -3 2
point xigou 3 -2
point xigou -3 2
ellipse xigou 3 -1
point xigou 3 -1
point xigou -3 1
#include
#include
#include
using
namespace std;
class
point
//取橫座標值
intgety()
//取縱座標值};
point::
point
(int x,
int y)
//引數帶預設值的建構函式
point::
point
(point& p)
//拷貝(複製)建構函式
point::
~point()
//析構函式
class
ellipse
intgety1()
intgetx2()
intgety2()
void
show()
;//顯示橢圓的外切矩形的頂點座標};
ellipse::
ellipse
(int xx1,
int yy1,
int xx2,
int yy2):a
(xx1,yy1),b
(xx2,yy2)
ellipse::
ellipse
(point &p1,point &p2):a
(p1),b
(p2)
//建構函式
ellipse::
~ellipse()
//析構函式
double ellipse::
area()
void ellipse::
show()
//顯示橢圓的外切矩形的頂點座標
intmain()
橢圓類 1(類的設計)
問題描述 設計並測試乙個名為ellipse的橢圓類 1 其私有資料成員為外切矩形的左上角與右下角兩個點的座標 4個int型x1,y1,x2,y2 2 宣告4個公有的成員函式分別訪問橢圓的外切矩形的頂點座標 3 設計1個建構函式ellipse int,int,int,int 對橢圓的外切矩形的頂點座標...
設計並測試乙個橢圓類
題目內容 設計並測試乙個名為ellipse的橢圓類,其屬性為圓心座標及長半軸和短半軸的長度。設計乙個建構函式 ellipse int,int,double,double 對這些屬性進行初始化,並通過成員函式計算出橢圓的面積 double area s 橢圓面積 pi 圓周率 a 長半軸 b 短半軸 ...
點 圓 圓柱類族的設計 3
檔名稱 123.cpp 作 者 隋宗濤 完成日期 2016年5月10日 版 本 號 v1.0 問題描述 以點為基類,派生出乙個圓類,增加資料成員r,和求面積的成員函式area,實現其他需要的成員函式,設計main函式完成測試。輸入描述 無。程式輸出 圓的圓心座標,半徑和面積。include usin...