* 檔名稱:test.cpp
* 作 者:劉佳琦
* 完成日期:2023年 5 月 23 日
* 版 本 號:v1.0
** 問題描述:(1)先建立乙個point(點)類,包含資料成員x,y(座標點);
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員(半徑),基類的成員表示圓心;
(3)編寫上述兩類中的構造、析構函式及必要運算子過載函式(本專案主要是輸入輸出);
(4)定義友元函式int locate,判斷點p與圓的位置關係(返回值<0圓內,==0圓上,>0 圓外);
(5)在圓類上過載關係運算子(6種),使之能夠按圓的面積比較兩個圓的大小。自編main函式完成測試。
* 程式輸入:
* 程式輸出:
*/#include #includeusing namespace std;
class point
double distance(const point &p) const;
friend ostream & operator<
protected:
double x,y;
};double point::distance(const point &p) const //求距離
ostream & operator<
double area ( ) const;
friend ostream &operator<
friend int locate(const point &p, const circle &c);
bool operator>(const circle &);
bool operator
bool operator>=(const circle &);
bool operator<=(const circle &);
bool operator==(const circle &);
bool operator!=(const circle &);
protected:
double radius;
};//判斷點p在圓內、圓c內或圓c外
int locate(const point &p, const circle &c)
//計算圓面積
double circle::area( ) const
//過載運算子「<
ostream &operator<
bool circle::operator
bool circle::operator>=(const circle &c)
bool circle::operator<=(const circle &c)
bool circle::operator==(const circle &c)
bool circle::operator!=(const circle &c)
int main( )
執行結果:
學習心得:
過載的知識到這裡又忘記了...真是一種深深的無力感,比較大小模仿了以前的分數類,突然回憶起做那個程式的抓狂(因為太長了,甚至當時還想有沒有乙個函式模板,只用改變符號,不用把它們再寫一遍...)學前忘後的,幸好還有鞏固的機會,le-7的判斷大小的方法真是好久沒用了,看了賀老的程式才回憶起來,不然完全沒想到,東西不用生疏的真的很快。
第十二周專案四 點 圓的關係
檔名稱 test.cpp 作 者 陳丹 完成日期 2015年5月27日 版本號 v1.0 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類,增加資料成員 半徑 基類的成員表示圓心 3 編寫上述兩類中的構造 析構函式及必要運...
第十二周 專案四 點 圓的關係(1)
問題及 檔名稱 project.cpp 作 者 chenqin.完成日期 2015年5月28日 版 本 號 v1.0 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類,增加資料成員 半徑 基類的成員表示圓心 3 編寫上述兩...
第十二周 專案四 點 圓的關係(2)
問題及 檔名稱 project.cpp 作 者 chenqin.完成日期 2015年5月28日 版 本 號 v1.0 問題描述 在圓類上過載關係運算子 6種 使之能夠按圓的面積比較兩個圓的大小。自編main函式完成測試。程式輸入 略 程式輸出 略 include include using name...