第8章繼承答案_第1頁(yè)
第8章繼承答案_第2頁(yè)
第8章繼承答案_第3頁(yè)
第8章繼承答案_第4頁(yè)
第8章繼承答案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第八章 繼承習(xí)題一 一、填空題 1. private 繼承方式基類特性派生類特性publicpublicpublicprotectedprotectedprivate不可訪問privatepublicprivateprotectedprivateprivate不可訪問protectedpublicprotectedprotectedprotectedprivate不可訪問2. 基類A中定義一個(gè)成員函數(shù)callA,若B類直接繼承了A類,希望B類的對(duì)象objectB能夠直接訪問這個(gè)成員函數(shù),則類A中,callA的訪問屬性應(yīng)該定義為public,派生類B的繼承方式應(yīng)該是public方式。若希望B中的

2、其他成員函數(shù)可以訪問callA,而對(duì)象objectB不能直接訪問,可以有幾種實(shí)現(xiàn)方法,請(qǐng)?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. 基類 派生類 基類 子對(duì)象 本類成員 基類名 子對(duì)象名 4. 基類的構(gòu)造函數(shù),子對(duì)象類的構(gòu)造函數(shù),派生類構(gòu)造函數(shù)。5. 不需要 自動(dòng) 相反二、選擇填空123456DADB

3、CA三、根據(jù)程序?qū)懡Y(jié)果1、請(qǐng)寫出程序運(yùn)行結(jié)果As constructor called.Bs constructor called.2,5,Bs destructor called.As destructor called.2、根據(jù)程序?qū)懡Y(jié)果,分析與第一題的差別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、下面是一個(gè)形狀shape類,編寫他的派生類,圓類Ci

5、rcle,三角形Triangle,重新定義基類的成員函數(shù)并增加必要的數(shù)據(jù)成員,使之能夠正常運(yùn)行。#include #includeusing namespace std;class Shapepublic: virtual double area()return 0; /形狀的面積 virtual double girth()return 0; /形狀的周長(zhǎng) virtual void show()=0;/輸出對(duì)象的信息protected:/此處為private的話就會(huì)出現(xiàn)錯(cuò)誤,原因是(是private的話)下面繼承中 /不能直接訪問a,b,c/private:;class Circle:pri

6、vate Shapepublic: Circle(double tr)r=tr;/繼承基類中的成員函數(shù)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ā)行圖書和磁帶,利用繼承設(shè)計(jì)管理出版物的類。要求如下:建立一個(gè)基類Publication存儲(chǔ)出版物的標(biāo)題title、出版物名稱name、單價(jià)price及出版日期date。用Book類和Tape類分別管理圖書和磁帶,它們都從Publication類派生。Book類具有保存圖書頁(yè)數(shù)的數(shù)據(jù)成員page,Tape類具有保存播放時(shí)間的數(shù)據(jù)成員playtime。每個(gè)類都有構(gòu)造函數(shù)、析構(gòu)函數(shù),且都有用于從鍵盤獲取數(shù)據(jù)的成員函數(shù)inputData(),用于顯示數(shù)據(jù)的成員函數(shù)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+程序設(shè)計(jì),58.5,2010-9-1,450); book1.show(); Type type1(磁帶,大學(xué)英語(yǔ),10,2010-9-1,60); type1.show();習(xí)題二 多重繼承和虛基類一、填空題1. 成員名限定2

12、. , 3. 基類的構(gòu)造函數(shù),對(duì)象成員的構(gòu)造函數(shù),派生類構(gòu)造函數(shù)順序相反。4. 虛基類 virtual1) 虛基類 派生類2) 對(duì)它們說明二、選擇填空1234DCBD三、程序填空:virtual Vehicle(weight) virtual public Vehicle Vehicle(weight), Car(weight,aird), Boat(weight,tonnage) 四、編程題編寫程序?qū)Υ髮W(xué)里的人員進(jìn)行管理。大學(xué)里的人員主要由學(xué)生,教師(教課),教員(不教課)和在職進(jìn)修教師(既當(dāng)學(xué)生又當(dāng)教師)組成,各類人員均有姓名,電話和地址等信息,學(xué)生還有專業(yè)信息,在職另有所在部門及工資信息

13、,教師另有教授課程信息,在職進(jìn)修教師具備以上各類人員的信息。系統(tǒng)的類層次結(jié)構(gòu)圖如下: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論