




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)六實(shí)驗(yàn)報(bào)告班級(jí) 學(xué)號(hào) 姓名 1實(shí)驗(yàn)?zāi)康模?1) 掌握虛函數(shù)的定義和使用方法,理解虛函數(shù)在面向?qū)ο蟪绦蛟O(shè)計(jì)中的意義;(2) 理解虛函數(shù)在類的繼承層次中的作用,虛函數(shù)的引入對(duì)程序運(yùn)行時(shí)的影響,能夠?qū)κ褂锰摵瘮?shù)的簡(jiǎn)單程序?qū)懗龀绦蚪Y(jié)果。2實(shí)驗(yàn)任務(wù):1、定義一個(gè)表示平面上的點(diǎn)的類Point,實(shí)現(xiàn)一個(gè)show()函數(shù)輸出其坐標(biāo),由它派生出一個(gè)表示平面上的圓的Circle類,添加一個(gè)半徑成員,實(shí)現(xiàn)show()函數(shù)輸出其坐標(biāo)和半徑。在主函數(shù)中定義一個(gè)基類的指針,用這個(gè)指針依次指向一個(gè)Point類的對(duì)象和一個(gè)Circle類的對(duì)象,分別調(diào)用show()函數(shù)輸出對(duì)象的屬
2、性,Point類對(duì)象輸出點(diǎn)的坐標(biāo),Circle類對(duì)象輸出圓點(diǎn)坐標(biāo)和圓的半徑。 2、求幾何體:長(zhǎng)方體和圓柱體的體積。具體要求如下:(1) 設(shè)計(jì)一個(gè)立體圖形類(CStereoShape類),并滿足如下要求:CStereoShape類有一個(gè)純虛函數(shù)GetArea,能夠獲取立方體的表面積。CStereoShape類有一個(gè)純虛函數(shù)GetVolume,能夠獲取立方體的體積。(2) 設(shè)計(jì)一個(gè)立方體類(CCube類),該類繼承于CStereoShape類,并滿足如下要求:l CCube類有一個(gè)帶參數(shù)的構(gòu)造函數(shù),其參數(shù)分別為立方體的長(zhǎng)、寬、高,默認(rèn)值均為0。l 用一個(gè)成員函數(shù)put來(lái)實(shí)現(xiàn)對(duì)立方體長(zhǎng)、寬、高的設(shè)置
3、。l 重載CStereoShape類的GetArea和GetVolume,分別完成立方體的表面積和體積的計(jì)算。(3) 設(shè)計(jì)一個(gè)球體類(CSphere),該類繼承于CStereoShape類,并滿足如下要求:l CSphere類有一個(gè)帶參數(shù)的構(gòu)造函數(shù),其參數(shù)對(duì)應(yīng)于球體的半徑,默認(rèn)值均為0。l 用一個(gè)成員函數(shù)put來(lái)實(shí)現(xiàn)對(duì)球體半徑的設(shè)置。l 重載CStereoShape類的GetArea和GetVolume,分別完成球體的表面積和體積的計(jì)算。(4) 在主函數(shù)完成測(cè)試,完成如下工作:3 程序清單:任務(wù)一:/*main.cpp*/#include <iostream>#include &q
4、uot;Point.h"#include "Circle.h"using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char* argv) Point t(2,1),*p3; Circle c(3,4,4);p0=&t;p0->show();p1=&c;p1->show();return 0;/*
5、 Point.h*/#ifndef POINT_H#define POINT_Hclass Pointpublic:Point(int=0,int=0);virtual void show();protected:int x,y;#endif/* Point.cpp*/#include "Point.h"#include <iostream>using namespace std;Point:Point(int a,int b)x=a;y=b;void Point:show()cout<<"("<<x<<&
6、quot;,"<<y<<")"<<endl; /* Circle.h*/#ifndef CIRCLE_H#define CIRCLE_H#include "Point.h"class Circle : public Pointpublic:Circle(int x,int y,int a):Point(x,y) r=a; void show();protected:int r;#endif/* Circle.cpp*/#include "Circle.h"#include <iost
7、ream>using namespace std;void Circle:show()Point:show();cout<<"半徑為:"<<r<<endl;任務(wù)二:/*main.cpp*/#include <iostream>#include "CStereoShape.h"#include "CSphere.h"#include "CCube.h"using namespace std;/* run this program using the console
8、 pauser or add your own getch, system("pause") or input loop */int main(int argc, char* argv) CStereoShape *p3; CCube b;p0=&b;b.put();p0->GetArea();p0->GetVolume();cout<<endl; CSphere s;p1=&s;s.put();p1->GetArea();p1->GetVolume(); return 0;/* CStereoShape.h*/#ifnd
9、ef CSTEREOSHAPE_H#define CSTEREOSHAPE_Hclass CStereoShapepublic:virtual double GetArea()=0;virtual double GetVolume()=0; protected:;#endif/* CCube.h*/#ifndef CCUBE_H#define CCUBE_H#include "CStereoShape.h"class CCube : public CStereoShapepublic:CCube(double=0,double=0,double=0);void put();
10、double GetArea();double GetVolume(); protected:double length,width,high;#endif/*CCube.cpp*/#include "CCube.h"#include <iostream>using namespace std;CCube:CCube(double a,double b,double c) length=a;width=b;high=c;void CCube:put()cout<<"請(qǐng)輸入長(zhǎng)、寬、高:"cin>>length>&g
11、t;width>>high; double CCube:GetArea()double s;s=2*(length*width+length*high+width*high);cout<<"長(zhǎng)方體的表面積為:"<<s<<endl;double CCube:GetVolume()cout<<"長(zhǎng)方體的體積為:"<<length*width*high<<endl;/*CSphere.h*/#ifndef CSPHERE_H#define CSPHERE_H#include &
12、quot;CStereoShape.h"class CSphere : public CStereoShapepublic:CSphere(double=0);void put();double GetArea();double GetVolume(); protected:double r;#endif/* CSphere.cpp*/#include "CSphere.h"#include <iostream>using namespace std;CSphere:CSphere(double a)r=a;void CSphere:put()cout
13、<<"請(qǐng)輸入球的半徑:"cin>>r; double CSphere:GetArea()cout<<"球體的表面積為:"<<4*3.14*r*r<<endl;double CSphere:GetVolume()cout<<"球體的體積為:"<<4/3*3.14*r*r*r<<endl;4 運(yùn)行結(jié)果:任務(wù)一:任務(wù)二:5 總結(jié)或感悟: 任務(wù)一中Point類的頭文件內(nèi)設(shè)計(jì)一個(gè)虛函數(shù)的輸出show函數(shù),Circle類繼承Point類里面的點(diǎn)坐標(biāo),同時(shí)增加了半徑的變量。主函數(shù)中利用一個(gè)數(shù)組指針來(lái)分別指向定義的變量,并實(shí)現(xiàn)輸出。任務(wù)二在CStereoShap
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療領(lǐng)域中基于區(qū)塊鏈的信任體系構(gòu)建
- 區(qū)塊鏈賦能金融安全與融資共舞
- Axure RP 互聯(lián)網(wǎng)產(chǎn)品原型設(shè)計(jì)課件 第4章 使用元件和元件庫(kù)
- 以人工智能為核心用區(qū)快鏈技術(shù)的去中心化商業(yè)解決方案
- 代辦會(huì)議合同范例
- 光纜安裝維修合同范例
- 企業(yè)內(nèi)部審計(jì)的數(shù)字化轉(zhuǎn)型基于區(qū)塊鏈技術(shù)的探索與實(shí)踐
- 創(chuàng)新醫(yī)療健康數(shù)據(jù)管理模式與隱私保護(hù)實(shí)踐
- 小區(qū)垃圾問(wèn)題
- 會(huì)計(jì)教育培訓(xùn)合同范例
- 糖尿病視網(wǎng)膜病變專家共識(shí)
- 第四單元 資本主義制度的確立 說(shuō)課課件-高一下學(xué)期統(tǒng)編版(2019)必修中外歷史綱要下
- 2024-2025學(xué)年七年級(jí)地理下冊(cè) 7.4 俄羅斯課時(shí)1說(shuō)課稿 (新版)新人教版
- 國(guó)家助學(xué)貸款還款救助歸檔材料清單
- 11《杠桿》教學(xué)設(shè)計(jì)-2023-2024學(xué)年科學(xué)五年級(jí)下冊(cè)人教鄂教版
- 2024版惡性腫瘤患者營(yíng)養(yǎng)治療指南解讀課件
- 陽(yáng)光心理-健康人生小學(xué)生心理健康主題班會(huì)課件
- 樂(lè)理知識(shí)考試題庫(kù)130題(含答案)
- 2025屆四川省成都市高三上學(xué)期畢業(yè)班摸底測(cè)試(零診)歷史試題(解析版)
- YB 4019-1991 輕燒菱鎂礦粉化學(xué)分析方法檸檬酸法測(cè)定輕燒菱鎂礦粉的活性
- 路面工程練習(xí)試卷1(共101題)
評(píng)論
0/150
提交評(píng)論