C 第十二周 任務4 類的組合與繼承

2021-06-06 08:28:12 字數 2031 閱讀 6361

/*

* 程式的版權和版本宣告部分

* 檔名稱:c++第十二周【任務4】                             

* 作    者:   李洪懸                             

* 完成日期:   2012  年  5  月  8  日

* 對任務及求解方法的描述部分

* 輸入描述:圓的基本資料

* 問題描述:類的組合與繼承
* 程式輸出:圓的各種資訊
*/
【任務4】類的組合與繼承(1)先建立乙個point(點)類,包含資料成員x,y(座標點);(2)以point為基類,派生出乙個circle(圓)類,增加資料成員(半徑),基類的成員表示圓心;(3)編寫上述兩類中的構造、析構函式及必要的輸入輸出函式(4)定義友元函式int locate,判斷點p在圓c上、圓c內或圓c外,返回值<0圓內,==0圓上,>0 圓外;(5)過載關係運算子(6種)運算子,使之能夠按圓的面積比較兩個圓的大小;(6)給定一點p,求出該點與圓心相連成的直線與圓的兩個交點並輸出
bb平台的**:
//用下面的main()函式測試
int main( )

point(double x0,double y0)

double get_x()

double get_y()

void set_x(double n)

void set_y(double n)

friend ostream &operator << (ostream & output, point & c);

private:

double x,y; //點的橫座標和縱座標

};

ostream &operator << (ostream & output, point & c)

;

void crossover_point1(point &p1,circle &c1,point &p4,point &p5)

ostream &operator << (ostream & output, circle & c)

bool circle::operator < (circle &t)

bool circle::operator == (circle &t)

bool circle::operator != (circle &t)

int main( )

{ circle c1(3,2,4),c2(4,5,5); //c2應該大於c1

point p1(1,1),p2(3,-2),p3(7,3); //分別位於c1內、上、外

cout<<"圓c1: "<0)?"外":((locate(p1, c1)<0)?"內":"上"))<0)?"外":((locate(p2, c1)<0)?"內":"上"))<0)?"外":((locate(p3, c1)<0)?"內":"上"))圓c1: 圓的半徑為:4圓的圓心為(3,2)

點p1: 該點的橫座標為:1    縱座標為:1

點p1在圓c1之內

點p2: 該點的橫座標為:3    縱座標為:-2

點p2在圓c1之上

點p3: 該點的橫座標為:7    縱座標為:3

點p3在圓c1之外

圓c1: 圓的半徑為:4圓的圓心為(3,2)

小於小於等於

不等於圓c2: 圓的半徑為:4圓的圓心為(3,2)

點p1: 該點的橫座標為:1    縱座標為:1

與圓c1: 圓的半徑為:4圓的圓心為(3,2)

的圓心相連,與圓交於兩點,分別是:

交點: 該點的橫座標為:6.57771    縱座標為:3.78885

交點: 該點的橫座標為:-0.577709    縱座標為:0.211146

請按任意鍵繼續. . .

經驗積累:理清思路,自頂向下,逐步求精!

第十二周任務二 多重繼承類

程式頭部注釋開始 程式的版權和版本宣告部分 檔名稱 作 者 姜雅明 完成日期 2012 年 05 月 08 日 版 本 號 1.0 對任務及求解方法的描述部分 輸入描述 問題描述 程式輸出 程式頭部的注釋結束 include includeusing namespace std class teac...

第十二周實驗指導 任務四 類的組合與繼承

作 者 雷恆鑫 完成日期 2012 年 04月 29 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 由下面派生類student1對基類student的繼承 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以point為基類,派生出乙個circle 圓 類...

第十二章 組合與繼承

1.組合 用已有類的物件作為新定義類的資料成員 2.繼承 在乙個已存在的類的基礎上,對他進行拓展,形成乙個新類 3.子類可以賦值給基類,基類不能賦值給子類 4.派生類函式同名隱藏 重定義基類函式 5.提供類的含參建構函式時,應加上乙個預設的建構函式 無參 以免對派生類物件初始化時沒有顯式呼叫基類建構...