




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上面向?qū)ο蟪绦蛟O計實驗六實驗報告班級 學號 姓名 1實驗目的:(1) 掌握虛函數(shù)的定義和使用方法,理解虛函數(shù)在面向?qū)ο蟪绦蛟O計中的意義;(2) 理解虛函數(shù)在類的繼承層次中的作用,虛函數(shù)的引入對程序運行時的影響,能夠?qū)κ褂锰摵瘮?shù)的簡單程序?qū)懗龀绦蚪Y(jié)果。2實驗任務:1、定義一個表示平面上的點的類Point,實現(xiàn)一個show()函數(shù)輸出其坐標,由它派生出一個表示平面上的圓的Circle類,添加一個半徑成員,實現(xiàn)show()函數(shù)輸出其坐標和半徑。在主函數(shù)中定義一個基類的指針,用這個指針依次指向一個Point類的對象和一個Circle類的對象,分別調(diào)用show()函數(shù)輸出對象的屬
2、性,Point類對象輸出點的坐標,Circle類對象輸出圓點坐標和圓的半徑。 2、求幾何體:長方體和圓柱體的體積。具體要求如下:(1) 設計一個立體圖形類(CStereoShape類),并滿足如下要求:CStereoShape類有一個純虛函數(shù)GetArea,能夠獲取立方體的表面積。CStereoShape類有一個純虛函數(shù)GetVolume,能夠獲取立方體的體積。(2) 設計一個立方體類(CCube類),該類繼承于CStereoShape類,并滿足如下要求:l CCube類有一個帶參數(shù)的構(gòu)造函數(shù),其參數(shù)分別為立方體的長、寬、高,默認值均為0。l 用一個成員函數(shù)put來實現(xiàn)對立方體長、寬、高的設置
3、。l 重載CStereoShape類的GetArea和GetVolume,分別完成立方體的表面積和體積的計算。(3) 設計一個球體類(CSphere),該類繼承于CStereoShape類,并滿足如下要求:l CSphere類有一個帶參數(shù)的構(gòu)造函數(shù),其參數(shù)對應于球體的半徑,默認值均為0。l 用一個成員函數(shù)put來實現(xiàn)對球體半徑的設置。l 重載CStereoShape類的GetArea和GetVolume,分別完成球體的表面積和體積的計算。(4) 在主函數(shù)完成測試,完成如下工作:3 程序清單:任務一:/*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;任務二:/*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<<"請輸入長、寬、高:"cin>>length>&g
11、t;width>>high; double CCube:GetArea()double s;s=2*(length*width+length*high+width*high);cout<<"長方體的表面積為:"<<s<<endl;double CCube:GetVolume()cout<<"長方體的體積為:"<<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、<<"請輸入球的半徑:"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 運行結(jié)果:任務一:任務二:5 總結(jié)或感悟: 任務一中Point類的頭文件內(nèi)設計一個虛函數(shù)的輸出show函數(shù),Circle類繼承Point類里面的點坐標,同時增加了半徑的變量。主函數(shù)中利用一個數(shù)組指針來分別指向定義的變量,并實現(xiàn)輸出。任務二在CStereoShap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年房地產(chǎn)企業(yè)風險管理創(chuàng)新實踐與財務穩(wěn)健性評估報告
- 2025年便利店新零售模式下的顧客忠誠度提升策略報告
- 嵌入式系統(tǒng)助力智慧商業(yè)創(chuàng)新公共服務體驗與效率
- 幼師聯(lián)考試題及答案
- 機油產(chǎn)品活動方案
- 暑期活動校園活動方案
- 最美農(nóng)行人活動方案
- 服裝網(wǎng)店五一活動方案
- 服飾展會活動策劃方案
- 機場團員活動方案
- 2025輔警招聘考試題目及答案
- 2025年度上半年校園安全工作總結(jié)及下半年工作計劃
- 美國博物館向中方歸還楚帛書
- 浙江2025年6月高一學考模擬地理試題及答案
- 紡織公司財務管理制度
- 2024年黑龍江省公安廳招聘警務輔助人員考試真題
- 景區(qū)吊橋設施管理制度
- 2025年高考數(shù)學全國新課標Ⅱ卷試卷評析及備考策略(課件)
- 黑龍江司法警官職業(yè)學院2025年招生政治考察表
- 2025-2030年中國寫字樓行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030中國壓縮空氣儲能產(chǎn)業(yè)現(xiàn)狀調(diào)查及項目投資策略建議報告
評論
0/150
提交評論