源程式:
/*(檔案注釋頭部開始)
*程式的版權和版本宣告部分
*檔名稱:point類及其多重派生類
*作 者:2011級計114-3張宗佳
*完成日期:2023年4月24號
*版本號:vc
* 對任務及求解方法的描述部分
* 輸入描術:
* 問題描述:
(1)先建立乙個point(點)類,包含資料成員x,y(座標點);
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員 (半徑);
(3)再以circle類為直接基類,派生出乙個cylinder(圓柱體)類,再增加資料成員h(高)。
要求編寫程式,設計出各類中基本的成員函式(包括建構函式、析構函式、修改資料成員和獲取資料成員的公共介面、用於輸出的過載運算子
「<<」函式等),使之能用於處理以上類物件,最後求出圓格柱體的表面積、體積並輸出。
專案)* 程式輸出:
* 程式頭部的注釋結束
*/
#includeusing namespace std;
class point
;point::point(double a, double b)
void point::setpoint(double a,double b)
double point::getx()
double point::gety()
point::~point(){}
ostream & operator << (ostream &output, point &p)
class circle:public point
;circle::circle(double a,double b,double c):point(a,b)
void circle::setcircle(double c)
double circle::getr()
double circle::getarea()
ostream & operator << (ostream &output,circle &c)
circle::~circle(){}
class cylinder:public circle
;cylinder::cylinder(double a,double b,double c,double d):circle(a,b,c)
void cylinder::setcylinder(double d)
double cylinder::geth()
double cylinder::area()
double cylinder::volume()
ostream & operator << (ostream &output,cylinder &c)
cylinder::~cylinder(){}
int main()
實驗結果:
圓心是:(3,4)半徑是:2.5高是:5表面積是:117.75體積是:98.125
圓心是:(3,5)半徑是:5高是:4表面積是:282.6體積是:314請按任意鍵繼續. . .
經驗積累:
1.多重派生,可以分成若幹部來寫,就像老師說的:先宣告基類,再宣告派生類,逐級進行,分步除錯。
2.基類和第乙個派生出來的類中的資料成員要定義成prected型,這樣,派生出來的類才能訪問其資料成員,開始定義成了private了,執行沒通過,才發覺是這裡出了問題...「爸媽的東西不能碰了,好鬱悶」....
第十周任務二 單程派生
include include include setw 設定輸出資料的寬度,使用時應 include using namespace std class cperson protected char m szname char m szid int m n 0 women,1 man int m ...
第十周 任務1
實驗目的 學會使用迴圈控制語句解決實際問題 實驗內容 用if語句編寫選擇結構的程式,完成分段函式的求解 include using namespace std int main double x,f const double x1 0.3,x2 0.8 cout cin x if xx2 f 1 e...
第十周任務(一)
作 者 董寶文 完成日期 2011年 10月 26日 版 本號 對任務及求解方法的描述部分 輸入描述 函式自變數x 問題描述 求函式的值 當x 0.3時,f x 0 當0.3 x 0.8時,f x x 0.3 0.8 0.3 當x 0.8時,f x 1 按你實際編的程式寫 程式輸出 f x 的值 問...