




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第八章 繼承習題一 一、填空題 1. private 繼承方式基類特性派生類特性publicpublicpublicprotectedprotectedprivate不可訪問privatepublicprivateprotectedprivateprivate不可訪問protectedpublicprotectedprotectedprotectedprivate不可訪問2. 基類A中定義一個成員函數callA,若B類直接繼承了A類,希望B類的對象objectB能夠直接訪問這個成員函數,則類A中,callA的訪問屬性應該定義為public,派生類B的繼承方式應該是public方式。若希望B中的
2、其他成員函數可以訪問callA,而對象objectB不能直接訪問,可以有幾種實現方法,請?zhí)羁眨篶lass A .protected:void callA();.;class B: public A.; class A .public:void callA();.;class B: protected A.; class A .protected:void callA();.;class B: protected A.; 3. 基類 派生類 基類 子對象 本類成員 基類名 子對象名 4. 基類的構造函數,子對象類的構造函數,派生類構造函數。5. 不需要 自動 相反二、選擇填空123456DADB
3、CA三、根據程序寫結果1、請寫出程序運行結果As constructor called.Bs constructor called.2,5,Bs destructor called.As destructor called.2、根據程序寫結果,分析與第一題的差別As constructor called.Cs constructor called.Bs constructor called.2,5, 3,Bs destructor called.Cs destructor called.As destructor called.四、程序填空1、public cPointcPoint(x,y)p
4、ublic cPointconst float cCircle:PI=3.14;2、Point:Point(double a, double b)const Point &pPoint: startPoint(start), endPoint(end)endPoint.setPoint(endX, endY);startPoint.setPoint(start);Polygon(Point points, int num); perimeter += bordersi.getLength();Polygon(points, 3)五、編程題1、下面是一個形狀shape類,編寫他的派生類,圓類Ci
5、rcle,三角形Triangle,重新定義基類的成員函數并增加必要的數據成員,使之能夠正常運行。#include #includeusing namespace std;class Shapepublic: virtual double area()return 0; /形狀的面積 virtual double girth()return 0; /形狀的周長 virtual void show()=0;/輸出對象的信息protected:/此處為private的話就會出現錯誤,原因是(是private的話)下面繼承中 /不能直接訪問a,b,c/private:;class Circle:pri
6、vate Shapepublic: Circle(double tr)r=tr;/繼承基類中的成員函數void set-dim double area()return 3.14*r*r; double girth()return 2*3.14*r; void show() coutthe Circles radius is: rendl; coutits area is: area()endl; coutits girth is: girth()endl; private:double r; ;class Triangle:public Shapepublic: Triangle(double
7、 i,double j,double k)a=i;b=j;c=k; double area()double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c); double girth()return a+b+c; void show() coutthe Triangles three sides are: atbtcendl; coutits area is: area()endl; coutits girth is: girth()endl; private:double a,b,c;void main() Circle c(1.5); c.show
8、(); Triangle t(3,4,5); t.show(); 2、某出版系統(tǒng)發(fā)行圖書和磁帶,利用繼承設計管理出版物的類。要求如下:建立一個基類Publication存儲出版物的標題title、出版物名稱name、單價price及出版日期date。用Book類和Tape類分別管理圖書和磁帶,它們都從Publication類派生。Book類具有保存圖書頁數的數據成員page,Tape類具有保存播放時間的數據成員playtime。每個類都有構造函數、析構函數,且都有用于從鍵盤獲取數據的成員函數inputData(),用于顯示數據的成員函數display()。#include #include#i
9、ncludeusing namespace std;class Publicationprotected:string title;string name;double price;string date;public: Publication(string tt,string tn,double tp,string td)title=tt;name=tn;price=tp;date=td;void inputData()/*略*/;void show()coutTitle: titleendl;coutName: nameendl;coutPrice: priceendl;coutDate:
10、 dateendl;class Book:public Publicationprotected:int page;public :Book(string tt,string tn,double tp,string td,int tpage):Publication(tt,tn,tp,td)page=tpage;void show()Publication:show();coutpage: pageendl;void inputData()/*略*/;class Type:public Publicationprotected:int playtime;public :Type(string
11、tt,string tn,double tp,string td,int ttime):Publication(tt,tn,tp,td)playtime=ttime;void show()Publication:show();coutTime: playtimeendl;void inputData()/*略*/;void main() Book book1(圖書,C+程序設計,58.5,2010-9-1,450); book1.show(); Type type1(磁帶,大學英語,10,2010-9-1,60); type1.show();習題二 多重繼承和虛基類一、填空題1. 成員名限定2
12、. , 3. 基類的構造函數,對象成員的構造函數,派生類構造函數順序相反。4. 虛基類 virtual1) 虛基類 派生類2) 對它們說明二、選擇填空1234DCBD三、程序填空:virtual Vehicle(weight) virtual public Vehicle Vehicle(weight), Car(weight,aird), Boat(weight,tonnage) 四、編程題編寫程序對大學里的人員進行管理。大學里的人員主要由學生,教師(教課),教員(不教課)和在職進修教師(既當學生又當教師)組成,各類人員均有姓名,電話和地址等信息,學生還有專業(yè)信息,在職另有所在部門及工資信息
13、,教師另有教授課程信息,在職進修教師具備以上各類人員的信息。系統(tǒng)的類層次結構圖如下:Person Student Staff Teacher StudentTeacher#include#includeusing namespace std;class personpublic:person(string nam,string t,string a)name=nam;telephone=t;address=a;protected:string name,telephone,address;class student:virtual public personpublic:student(str
14、ing nam,string t,string a,string i):person(nam,t,a)infor=i;protected:string infor;class staff:virtual public personpublic:staff(string nam,string t,string a,string ad,float w):person(nam,t,a)office=ad;wages=w;protected:string office;float wages;class teacher: public staffpublic:teacher(string nam,st
15、ring t,string a,string ad,float w,string k):person(nam,t,a),staff(nam,t,a,ad,w),kcheng(k)protected:string kcheng;class zteacher:public teacher,public studentpublic:zteacher(string nam,string t,string a,string i,string ad,float w,string k):person(nam,t,a),student(nam,t,a,i),teacher(nam,t,a,ad,w,k)void show()coutname:nameendl;couttelephone:telephoneendl;coutaddress:addressendl;coutsuo xue zhan ye:info
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京市西城區(qū)北京第四十四中學物理高一下期末統(tǒng)考模擬試題含解析
- 貴州省貴陽市四校2025年高二物理第二學期期末達標檢測試題含解析
- 2025年上海市市八中學物理高二下期末質量檢測模擬試題含解析
- 永定區(qū)義務教育管理辦法
- 加盟店績效考核管理辦法
- 林業(yè)局加強苗木管理辦法
- 廣東省廣州市番禺區(qū)實驗中學2025屆物理高二下期末經典模擬試題含解析
- 軍品項目供應商管理辦法
- 銀行小額補償管理辦法
- 2025年吉林市四平市物理高二下期末教學質量檢測模擬試題含解析
- 《思想道德與法治》學習通課后章節(jié)答案期末考試題庫2025年
- 清廉講堂活動方案
- 2025年醫(yī)保知識考試題庫及答案:醫(yī)保信息化建設應用法律法規(guī)試題
- 環(huán)境現場采樣培訓
- 2025年 汕頭市公安局警務輔助人員招聘考試筆試試卷附答案
- 陜西省專業(yè)技術人員繼續(xù)教育2025公需課《黨的二十屆三中全會精神解讀與高質量發(fā)展》20學時題庫及答案
- 2024-2025學年人教版數學五年級下學期期末試卷(含答案)
- 環(huán)保設施安全風險評估報告
- 儀表工程質量控制點等級劃分表
- 廣東某高層小區(qū)屋面飄板模板工程專項施工方案
- IPC-A-610F通用焊接標準(經典實用)
評論
0/150
提交評論