




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、深 圳 大 學 實 驗 報 告 課程名稱: C+程序設計 實驗項目名稱: 繼承與派生的基本概念 學院: 信息工程學院 專業(yè): 通信工程 指導教師: 張力 報告人: 學號: 2011130151 班級: 2班 實驗時間: 2013年12月4日 實驗報告提交時間: 2013年12月30日 教務處制實驗目的與要求:1.練習實踐教程P81范例,定義一個繼承與派生關系的類體系,在派生類中訪問基類成員。先定義一個點類,包含x,y坐標數據成員,顯示函數和計算面積的函數成員; 以點為基類派生一個圓類,增加表示半徑的數據成員,重載顯示和計算面積的函數;定義一個線段類,以兩個點類對象作數據成員,定義顯示、求面積及
2、長度函數,線段類采用聚合方式,因為有兩個端點,不能用派生。編程測試所定義類體系,體會和熟悉繼承與派生的基本概念及實現方法,掌握派生類構造函數初始化基類成員和對象成員的方法。2. 實踐教程P83編程,多層派生練習,由上面Point類和Circle類繼續(xù)派生出Cylinder類,計算圓柱的底面積、側面積、全面積和體積,編寫所有完整成員函數,并編寫主函數進行驗證。方法、步驟:1.打開VC+,選擇file|new 菜單,單擊project標簽,打開其選項卡,選擇win32 console application 工程類型,在project name 文本框中輸入工程名5_1,在location 文本框
3、中輸入工程路徑,單擊OK按鈕,在彈出的對話框中選擇an empty project,單擊finish按鈕。2.選擇file|new 菜單,單擊files選項卡,選擇C+ source file,在file文本框中輸入文件名5_1.cpp,選中add to project 復選框,單擊OK按鈕。3. 打開源文件編輯窗口,按要求編寫代碼。編寫完成后,保存,編譯。若編譯無錯誤,則鏈接,執(zhí)行。若出現錯誤,則根據error框顯示的錯誤逐行進行修正。執(zhí)行過程中,若產生死循環(huán),則應回到源程序找出錯誤,直至符合要求為止。實驗過程及內容:實驗代碼:#include<iostream>#include
4、<cmath>using namespace std;#define PI 3.14159class Pointprotected :double x,y;public:Point()x=0;y=0;Point(double xv,double yv)x=xv;y=yv;double Area()return 0;void Show()cout<<"x="<<x<<"y="<<y<<endl;class Circle:public Pointfriend class Cylinder
5、;double radius;public:Circle()x=0;y=0;radius=0;Circle(double xv,double yv,double vv):Point(xv,yv)radius =vv;Circle(Circle & cir):Point(cir)radius =cir.radius;Circle & operator=(Circle & cir)this->Point:operator=(cir);radius=cir.radius;return *this;double Area()return PI*radius*radius;
6、void Show()cout<<"x="<<x<<"y="<<y<<"radius="<<radius<<endl;class Cylinder:public Circle /Cylinder類double height;public:Cylinder()x=0;y=0;radius=0;height=0;Cylinder(double xv,double yv,double vv,double hv):Circle(xv,yv,vv)height=
7、hv; /調用派生類構造函數 Cylinder(Cylinder & cyl):Circle(cyl)/賦值兼容規(guī)則,cyl可作Circle構造函數實參height=cyl.height;Cylinder & operator=(Cylinder & cyl)/重載復制賦值操作符固有標準格式this->Circle:operator =(cyl);height=cyl.height;return *this;double Area() /圓柱底面積return PI*radius*radius;double LateralArea() /圓柱側面積return P
8、I*2*radius*height;double GrossArea() /圓柱全面積return PI*radius*radius*2+PI*2*radius*height;double Volume() /圓柱體積return PI*radius*radius*height;void Show()cout<<"x="<<x<<'t'<<"y="<<y<<'t'<<"radius="<<radius<
9、<'t'<<"height="<<height<<endl;int main()Cylinder cy1(100,100,10,10),cy2(cy1),cy3;cout<<"cy1 底面積:"<<cy1.Area()<<'t'<<"cy1 側面積:"<<cy1.LateralArea()<<endl<<"cy1 全面積:"<<cy1.GrossA
10、rea()<<'t'<<"cy1 體積:"<<cy1.Volume()<<endl;cy1.Show();cout<<"cy2 底面積:"<<cy2.Area()<<'t'<<"cy2 側面積:"<<cy2.LateralArea()<<endl<<"cy2 全面積:"<<cy2.GrossArea()<<'t'&
11、lt;<"cy2 體積:"<<cy2.Volume()<<endl;cy2.Show();cy3=cy1;cout<<"cy3 底面積:"<<cy3.Area()<<'t'<<"cy3 側面積:"<<cy3.LateralArea()<<endl<<"cy3 全面積:"<<cy3.GrossArea()<<'t'<<"cy3 體積:"<<cy3.Volume()<<endl;cy3.Show();return 0;數據處理分析:思考題:(1)(2)將x,y訪問權限改成private,再運行,編譯出錯。不允許private成員公開化。(3)若不將Cline設為CPoint友元,需在Cline中重新定義點start和end。實驗結論: 通過這次的實驗
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升內部溝通效率的生產計劃
- 經典童話演繹活動方案計劃
- 跨文化交流的有效方法計劃
- 年產8000噸脫硫重鈣粉新建項目環(huán)境影響報告表
- 公司財務部門的協同工作優(yōu)化計劃
- 班主任的時間管理與安排計劃
- 企業(yè)資產管理與保值增值
- 人教版小學五年級語文下冊2024-2025學年度第二學期第六單元質量檢測試卷
- 隨身灸技術操作流程圖及考核標準
- 2024年高三數學重難點專項訓練:圓錐曲線焦點弦二級結論十大題型(原卷版)
- 外包營銷方案
- 2024電力系統(tǒng)安全規(guī)定
- 牛津譯林英語七年級上冊7AUnits1-4單元復習課件
- 春灌工作總結匯報
- 2023北京高三一模語文匯編:非連續(xù)性文本閱讀
- 初中物理核心素養(yǎng)培養(yǎng)
- 從吶喊看魯迅筆下的女性角色
- 介紹錢三強的
- 農業(yè)資源與環(huán)境經濟學
- 生態(tài)與翻譯生態(tài)翻譯學理論解構
- HQ城環(huán)湖預熱馬拉松活動方案
評論
0/150
提交評論