/** 程式的版權和版本宣告部分
* 檔名稱: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.提供類的含參建構函式時,應加上乙個預設的建構函式 無參 以免對派生類物件初始化時沒有顯式呼叫基類建構...