/*
*檔名稱:project.cpp
*完成日期:2023年5月20日
*版本號:v1.0
**問題描述:
按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務:
(1)先建立乙個point(點)類,包含資料成員x,y(座標點),實現需要的成員函式,並設計main函式完成測試;
(2)以point為基類,派生出乙個circle(圓)類,增加資料成員r(半徑),以及求面積的成員函式area,實現其他需要的成員函式,設計main函式完成測試
(3)再以circle類為直接基類,派生出乙個cylinder(圓柱體)類,再增加資料成員h(高),,以及求圓柱表面積的成員函式area和求圓柱體積的成員函式volume,實現需要的成員函式,並設計main函式完成測試。
要求編寫程式,設計出各類中「需要的成員函式」,包括建構函式、析構函式、修改資料成員和獲取資料成員的公共介面、用於輸出的過載運算子「<
*輸入描述:略。
*程式輸出:略。
*/ 按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務:
(1)先建立乙個point(點)類,包含資料成員x,y(座標點),實現需要的成員函式,並設計main函式完成測試;
#include #include using namespace std;
class point //定義座標點類
point(double x0, double y0):x(x0), y(y0) {}
friend ostream &operator <
double get_x();
double get_y();
protected:
double x,y; //點的橫座標和縱座標
};ostream &operator <
void setpoints(double a,double b);
friend ostream &operator <
double get_x()
double get_y()
protected:
double x,y; //點的橫座標和縱座標
};class circle:public point
void setcircle(double r);
double area();
double get_r()
friend ostream &operator <
private:
double c_r;
};void point::setpoints(double a,double b)
ostream &operator <
void setpoints(double a,double b);
friend ostream &operator <
double get_x()
double get_y()
protected:
double x,y; //點的橫座標和縱座標
};class circle:public point
void setcircle(double r);
double area();
double get_r()
friend ostream &operator <
private:
double c_r;
};class cylinder:public circle
;void point::setpoints(double a,double b)
ostream &operator <
{ cout<
執行結果:
知識點總結:
學會宣告多層派生類的建構函式以及他們的使用
學習心得:
按照要求,一點一點的做,在原有的程式上加加減減,就很容易做出來了。
第10周 專案4 類族的設計
問題及 檔名稱 point.cpp 作 者 單昕昕 完成日期 2015年5月15日 版 本 號 v1.0 問題描述 按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的 設計,求出圓格柱體的表面積 體積並輸出並且完成要求的計算任務 1 先建立乙個point 點 類,包含資料成員x,y 座標點 實...
第11周專案4 類組的設計
檔名稱 score.cpp 作 者 惠睿 完成日期 2015年5月28日 版 本 號 v1.0 問題描述 由基類的設計和測試開始,逐漸完成個各類的設計。程式輸入 無輸入。程式輸出 輸出表面積,體積。include using namespace std class point 讀x座標 double...
第11周專案4
煙台大學計算機學院 檔名稱 xiangmu.cpp 完成日期 2017年11月12日 問題描述 假設圖g採用鄰接表儲存,分別設計實現以下要求的演算法,要求用區別於示例中的圖進行多次測試,通過觀察輸出值,掌握相關問題的處理方法。1 設計乙個演算法,判斷頂點u到v是否有簡單路徑 2 設計乙個演算法輸出圖...