(1)先建立乙個point(點)類,包含資料成員x,y(座標點);
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員(半徑),基類的成員表示圓心;
(3)編寫上述兩類中的構造、析構函式及必要運算子過載函式(本專案主要是輸入輸出);
(4)定義友元函式int locate,判斷點p與圓的位置關係(返回值<0圓內,==0圓上,>0 圓外);
(5)在圓類上過載關係運算子(6種),使之能夠按圓的面積比較兩個圓的大小。自編main函式完成測試。
*****(6)與圓心相連的直線:給定一點p,其與圓心相連成的直線,會和圓有兩個交點,如圖。在上面定義的point(點)類和circle(圓)類基礎上,設計一種方案,輸出這兩點的座標。******
[參考解答]
/*(1)先建立乙個point(點)類,包含資料成員x,y(座標點);
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員(半徑),基類的成員表示圓心;
(3)編寫上述兩類中的構造、析構函式及必要運算子過載函式(本專案主要是輸入輸出);
(4)定義友元函式int locate,判斷點p與圓的位置關係(返回值<0圓內,==0圓上,>0 圓外);
/*(1)先建立乙個point(點)類,包含資料成員x,y(座標點);
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員(半徑),基類的成員表示圓心;
(3)編寫上述兩類中的構造、析構函式及必要運算子過載函式(本專案主要是輸入輸出);
(4)定義友元函式int locate,判斷點p與圓的位置關係(返回值<0圓內,==0圓上,>0 圓外);
*/#include#includeusing namespace std;
const double n=3.14;
class circle;
class point
; ~point() {};
double getx();
double gety();
friend istream&operator>>(istream&input,point t);
friend ostream&operator<
};double point::gety()
double point::getx()
ostream&operator<
;bool operator!=(circle &c1,circle &c2)
bool operator==(circle &c1,circle &c2)
bool operator<=(circle &c1,circle &c2)
bool operator>=(circle &c1,circle &c2)
bool operator>(circle &c1,circle &c2)
bool operator
第十二周 專案4 點 圓的關係
問題及 專案4 點 圓的關係 all right reserved 檔名 點 圓的關係 作者 童宇 完成日期 2015 年 5月 27日 版本號v1.0 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類,增加資料成員 半徑...
第十二周 專案4 點,圓的關係(1)
檔名稱 test.cpp 作 者 呼亞萍 完成日期 2015年5月27日 版 本 號 v1.0 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類,增加資料成員 半徑 基類的成員表示圓心 3 編寫上述兩類中的構造 析構函式及...
第十二周專案4 點 圓的關係(5)
問題及 檔名稱 circle.cpp 作 者 趙敏 完成日期 2015年5月28日 版 本 號 v1.0 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類,增加資料成員 半徑 基類的成員表示圓心 3 編寫上述兩類中的構造 ...