第十二周專案四 點圓的關係

2021-07-02 19:02:49 字數 1734 閱讀 1175

* 檔名稱: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...