已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
繼承、虛基類73 練習(xí)題 1什么是繼承性?為什么說它是面向?qū)ο蟪绦蛑械闹匾獧C(jī)制? 2C十十中繼承分為哪兩類?繼承方式又分哪3種? 33種繼承方式中各有什么特點(diǎn)?不同繼承方式中派生類對(duì)基類成員的訪問有何 9多繼承中,在哪些情況下會(huì)出現(xiàn)二義性?如何消除二義性? 10為什么要引入虛基類?帶有虛基類的派生類的構(gòu)造函數(shù)有什么特點(diǎn)?74 作業(yè)題一、選擇填空1下列對(duì)派生類的描述中,( )是錯(cuò)的。 A.一個(gè)派生類可以作為另一個(gè)派生類的基類 B派生類至少有一個(gè)基類 C派生類的成員除了它自己的成員外,還包含了它的基類的成員 D派生類中繼承的基類成員的訪問權(quán)限到派生類保持不變2派生類的對(duì)象對(duì)它的基類中( )是可以訪問的。 A公有繼承的公有成員 B公有繼承的私有成員 C公有繼承的保護(hù)成員 D 私有繼承的公有成員3對(duì)基類和派生類的關(guān)系描述中,( ) )是錯(cuò)的。 A.派生類是基類的具體化 B派生類是基類的子集 C派生類是基類定義的延續(xù) D派生類是基類的組合4派生類的構(gòu)造函數(shù)的成員初始值表中,不能包含( A基類的構(gòu)造函數(shù)B派生類中子對(duì)象的初始化 C基類的子對(duì)象初始化 D派生類中一般數(shù)據(jù)成員的初始化 5關(guān)于子類型的描述中,( )是錯(cuò)的。 A子類型就是指派生類是基類的子類型 B一種類型當(dāng)它至少提供了另一種類型的行為,則這種類型是另一種類型的子 類型 C在公有繼承下,派生類是基類的子類型D子類型關(guān)系是不可逆的 6關(guān)于多繼承二義性的描述中,( )是錯(cuò)的。 A一個(gè)派生類的兩個(gè)基類中都有某個(gè)同名成員,在派生類中對(duì)這個(gè)成員的訪問 可能出現(xiàn)二義性 B解決二義性的最常用的方法是對(duì)成員名的限定法 C基類和派生類中同時(shí)出現(xiàn)的同名函數(shù),也存在二義性問題 D一個(gè)派生類是從兩個(gè)基類派生來的,而這兩個(gè)基類又有一個(gè)共同的基類,對(duì)該 基類成員進(jìn)行訪問時(shí),也可能出現(xiàn)二義性7設(shè)置虛基類的目的是( )。A簡(jiǎn)化程序B消除二義性C提高運(yùn)行效率D減少目標(biāo)代碼8帶有虛基類的多層派生類構(gòu)造函數(shù)的成員初始化列表中都要列出虛基類的構(gòu)造函數(shù),這樣將對(duì)虛基類的子對(duì)象初始化( )。A與虛基類下面的派生類個(gè)數(shù)有關(guān)B多次C二次D一次二、判斷下列描述的正確性,對(duì)者劃,錯(cuò)者劃1C語言中,既允許單繼承,又允許多繼承。2派生類是從基類派生出來,它不能再生成新的派生類。3派生類的繼承方式有兩種:公有繼承和私有繼承。4在公有繼承中,基類中的公有成員和私有成員在派生類中都是可見的。5在公有繼承中,基類中只有公有成員對(duì)派生類對(duì)象是可見的。6在私有繼承中,基類中只有公有成員對(duì)派生類是可見的。7在私有繼承中,基類中所有成員對(duì)派生類的對(duì)象都是不可見的。8在保護(hù)繼承中,對(duì)于垂直訪問同于公有繼承,而對(duì)于水平訪問同于私有繼承。9派生類是它的基類的組合。10構(gòu)造函數(shù)可以被繼承。11析構(gòu)函數(shù)不能被繼承。12子類型是不可逆的。13只要是類M繼承了類N,就可以說類M是類N的子類型。14如果A類型是B類型的子類型,則A類型必然適應(yīng)于B類型。15多繼承情況下,派生類的構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生類時(shí)所指定的各基類的順序。16單繼承情況下,派生類中對(duì)基類成員的訪問也會(huì)出現(xiàn)二義性。17解決多繼承情況下出現(xiàn)的二義性的方法之一是使用成員名限定法。18虛基類是用來解決多繼承中公共基類在派生類中只產(chǎn)生一個(gè)基類子對(duì)象的問題。 三、回答下列問題 1根據(jù)下面給定的含有虛基類的復(fù)雜繼承結(jié)構(gòu),回答問題。 Class A Public:void f();;class B:virtual public A Public:void f();;class C:public B;class D:Public C,virtaul pub1ic A Public:void g();; (1)畫出上述結(jié)構(gòu)的DAG圖。 (2)設(shè)有D d;間:df()是否有二義性?(3)設(shè)有Void D:g() f (); 問:g()函數(shù)中對(duì)f()調(diào)用是否有二義性? 2根據(jù)下面給定的繼承結(jié)構(gòu),回答問題。 class Apublic: int a; int b(); int f(); int f(int);int g(); class Bpublic: char f();int g(); private: int a:int b();; class C:Public A,Public B ;設(shè)有: C *pc(1)pc一a1;是否有二義性?(2)pc一b(),是否有二義性?(3)pc一f();是否有二義性?(4)pc一f(10);是否有二義性?(5)pc一g();是否有二義性?提示:二義性檢查是在訪問控制權(quán)限或類型檢查之前進(jìn)行的。四、分析下列程序的輸出結(jié)果1#includeiostreamhclass A public: A(int i,int j)ai;bj; void Move(int X,int y)a十X;b十y; void Show()cout”(”a”、”b”endl; private: int a,b;class B:private A public: B(int i,int j,int k,int l):A(i,j)xk;y1;void Show()coutx”,”yendl; void fun()Move(3,5); void fl()A:Show(); private:int x,y;;void main() A e(1,2);eShow();缺178 179void main() V v: vInitR(10,20,30,40); vfun(); cout”(”vGetx()”,”v。GetY()”,”vGetW()”,”vGetH()”endl;分析:該程序中有3個(gè)類:L,R和V。其中,R類公有繼承L類V類又公有繼承R類。因此V類的對(duì)象可以調(diào)用I類和R類中的非私有成員。 4 #includeiostream。h class P public: P(int P1,int P2)pril=P1;Pri2p2; int inc1()return +pril; int inc2()return +pri2; void display()coutpri1=pril,pri2endl; private: int pri1,pri2;class D1:private P public: D1(int p1, int p2,int p3):p(p1,p2) pri3=p3;int inc1()return p : inc1();int inc3()return +pri3;void display();p:display();coutpri3=pri3endl; private int pri3;;class D2:Public P public: D2(int P1,int p2,int p4):P(P1,p2) Pri4:p4; int incl() P:incl(); P:inc2(); return P:inc1(); int inc4()return十十pri4 void display() P:display(); cout“Pri4”Pri4endl; prlvate: int pri4;;class D12:prive D1,public D2 public: d12(int p11, int p12, int p13,int p21,int p22,int p23,int p) :D1(p11,p12,p13),D2(p21,p22,p23) pril2=p; int inc1() D2:inc1();return D2:inc1(); int inc5()return +pril2; void display()countd2:display()n;D2:display();coutpril2=pril2endl; Prlvate:int pr512;void main() D12d(1,2,3,4,5,6,7); ddisplay(); coutcndl; dincl(); dinc4(); dinc5(); dD12:incl();ddisplay(); 該程序中共有4個(gè)類:P類、D1類、D2類和D12類。其中,P類是Dl共基類,D12類是Dl類和1)2類的派生類,這是一種多繼承的例子。Dl 2D12類的兩個(gè)基類中,D1是私有繼承,D2是公有繼承。5#include class P public: P(int P1,int P2) P ril=P1;P ri2P2; int incl()return +pri1;int inc2() return +pri2;void display()cout”pri1=”pri1”,pri2=”pri2endl; private:int pri1,pri2;class D1:virtual private Ppublic: D1(int p1,int p2,int p3):P(p1,p2) pri3P3; int incl() return P:inc1(); int inc3() (return +pri3;)void display() P:display();cout”Pri3”pri3endl;private:int pr53;class D2:virtual public P public:D2(int P1,int p2,int p4):P(p1,p2)pri4:P4; int incl()P:incl();P:inc1() P:inc2();return P:inc1(); int inc4() ( return十十pri4; )void disPlay() P:display();cout”pri4;”pi4cndl; private: int pri4;class D12:private D1,public D2public:D12(int p11,int p12,int p13,int p21,int p22,int p23,int p) :D1(p11,P12,P13),D2(p21,p22,p23),P(p11,p21) pril2:P;int incl() D2:incl();return D2:incl(); int inc5() (return十十pril2; )void display() cout”D2:disPlay()n”; D2:display();cout”pril2”pril2endl; private:int pfil2;void main() D12
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高標(biāo)準(zhǔn)溫室大棚施工合作協(xié)議范本2篇
- 建設(shè)合同范本(2篇)
- 二零二五版白酒品牌代理商白酒回購(gòu)合作協(xié)議3篇
- 二零二五年度城市棚戶區(qū)改造民房征收補(bǔ)償合同4篇
- 二零二五年度新型節(jié)能門窗研發(fā)生產(chǎn)合同4篇
- 部編版八年級(jí)語文上冊(cè)《白楊禮贊》教學(xué)設(shè)計(jì)(共2課時(shí))
- 銀行課程設(shè)計(jì)報(bào)告范文
- pvc管道施工方案
- 2024年學(xué)校防溺水教案
- 2025年度個(gè)人公共安全設(shè)施承包合同模板4篇
- 春節(jié)聯(lián)歡晚會(huì)節(jié)目單課件模板
- 中國(guó)高血壓防治指南(2024年修訂版)
- 教育促進(jìn)會(huì)會(huì)長(zhǎng)總結(jié)發(fā)言稿
- 心理調(diào)適教案調(diào)整心態(tài)積極應(yīng)對(duì)挑戰(zhàn)
- 噴漆外包服務(wù)合同范本
- 2024年電信綜合部辦公室主任年度述職報(bào)告(四篇合集)
- 微機(jī)原理與接口技術(shù)考試試題及答案(綜合-必看)
- 濕瘡的中醫(yī)護(hù)理常規(guī)課件
- 初中音樂聽課筆記20篇
- NUDD新獨(dú)難異 失效模式預(yù)防檢查表
- 內(nèi)蒙古匯能煤電集團(tuán)有限公司長(zhǎng)灘露天煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
評(píng)論
0/150
提交評(píng)論