C++多態(tài)特性及應(yīng)用總結(jié)試題及答案_第1頁(yè)
C++多態(tài)特性及應(yīng)用總結(jié)試題及答案_第2頁(yè)
C++多態(tài)特性及應(yīng)用總結(jié)試題及答案_第3頁(yè)
C++多態(tài)特性及應(yīng)用總結(jié)試題及答案_第4頁(yè)
C++多態(tài)特性及應(yīng)用總結(jié)試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++多態(tài)特性及應(yīng)用總結(jié)試題及答案姓名:____________________

一、單項(xiàng)選擇題(每題2分,共10題)

1.下列關(guān)于C++中多態(tài)性的描述,錯(cuò)誤的是:

A.多態(tài)性是指同一操作作用于不同對(duì)象時(shí)可以有不同的解釋和表現(xiàn)

B.多態(tài)性分為編譯時(shí)多態(tài)和運(yùn)行時(shí)多態(tài)

C.多態(tài)性是通過(guò)函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn)的

D.多態(tài)性是面向?qū)ο缶幊痰囊粋€(gè)核心特性

2.下列關(guān)于虛函數(shù)的描述,錯(cuò)誤的是:

A.虛函數(shù)必須是在基類中聲明的函數(shù)

B.虛函數(shù)在派生類中也可以是虛函數(shù)

C.虛函數(shù)只能用于成員函數(shù)

D.虛函數(shù)不能被聲明為靜態(tài)函數(shù)

3.下列關(guān)于純虛函數(shù)的描述,錯(cuò)誤的是:

A.純虛函數(shù)是在基類中聲明的虛函數(shù),沒(méi)有函數(shù)體

B.純虛函數(shù)用于定義一個(gè)抽象類

C.純虛函數(shù)不能被直接調(diào)用

D.純虛函數(shù)在派生類中必須被重寫

4.下列關(guān)于虛析構(gòu)函數(shù)的描述,錯(cuò)誤的是:

A.虛析構(gòu)函數(shù)是用于釋放基類指針指向的對(duì)象

B.虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù)

C.虛析構(gòu)函數(shù)不能被重寫

D.虛析構(gòu)函數(shù)在派生類中可以調(diào)用基類的虛析構(gòu)函數(shù)

5.下列關(guān)于動(dòng)態(tài)綁定和多態(tài)性的描述,錯(cuò)誤的是:

A.動(dòng)態(tài)綁定是指在運(yùn)行時(shí)確定對(duì)象的類型

B.動(dòng)態(tài)綁定是實(shí)現(xiàn)多態(tài)性的基礎(chǔ)

C.動(dòng)態(tài)綁定是通過(guò)虛函數(shù)實(shí)現(xiàn)的

D.動(dòng)態(tài)綁定只能用于虛函數(shù)

6.下列關(guān)于虛函數(shù)表(vtable)的描述,錯(cuò)誤的是:

A.虛函數(shù)表是C++中實(shí)現(xiàn)多態(tài)性的關(guān)鍵機(jī)制

B.虛函數(shù)表是一個(gè)指針數(shù)組,存儲(chǔ)了虛函數(shù)的地址

C.虛函數(shù)表在類的實(shí)例化時(shí)生成

D.虛函數(shù)表只能用于虛函數(shù)

7.下列關(guān)于繼承和多態(tài)性的描述,錯(cuò)誤的是:

A.繼承是實(shí)現(xiàn)多態(tài)性的基礎(chǔ)

B.繼承使得子類可以繼承父類的成員函數(shù)和數(shù)據(jù)

C.繼承分為公有繼承、私有繼承和保護(hù)繼承

D.繼承不能用于實(shí)現(xiàn)多態(tài)性

8.下列關(guān)于虛析構(gòu)函數(shù)和構(gòu)造函數(shù)的描述,錯(cuò)誤的是:

A.構(gòu)造函數(shù)不能是虛函數(shù)

B.析構(gòu)函數(shù)不能是虛函數(shù)

C.虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù)

D.虛析構(gòu)函數(shù)在基類中必須被聲明為虛函數(shù)

9.下列關(guān)于虛析構(gòu)函數(shù)和靜態(tài)成員函數(shù)的描述,錯(cuò)誤的是:

A.靜態(tài)成員函數(shù)不能調(diào)用虛函數(shù)

B.靜態(tài)成員函數(shù)不能訪問(wèn)虛析構(gòu)函數(shù)

C.靜態(tài)成員函數(shù)可以訪問(wèn)派生類的成員

D.靜態(tài)成員函數(shù)可以訪問(wèn)基類的成員

10.下列關(guān)于C++中多態(tài)性的應(yīng)用場(chǎng)景,錯(cuò)誤的是:

A.多態(tài)性可以用于實(shí)現(xiàn)接口

B.多態(tài)性可以用于實(shí)現(xiàn)數(shù)據(jù)抽象

C.多態(tài)性可以用于實(shí)現(xiàn)模板編程

D.多態(tài)性可以用于實(shí)現(xiàn)面向?qū)ο缶幊?/p>

二、多項(xiàng)選擇題(每題3分,共10題)

1.下列關(guān)于C++中多態(tài)性的特點(diǎn),正確的有:

A.多態(tài)性允許同一操作作用于不同的對(duì)象,產(chǎn)生不同的結(jié)果

B.多態(tài)性可以通過(guò)函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn)

C.多態(tài)性是面向?qū)ο缶幊痰暮诵奶匦灾?/p>

D.多態(tài)性可以通過(guò)繼承和虛函數(shù)實(shí)現(xiàn)

2.下列關(guān)于C++中虛函數(shù)的描述,正確的有:

A.虛函數(shù)必須在基類中聲明

B.虛函數(shù)在派生類中可以繼承

C.虛函數(shù)不能被聲明為靜態(tài)成員函數(shù)

D.虛函數(shù)可以用于實(shí)現(xiàn)動(dòng)態(tài)綁定

3.下列關(guān)于純虛函數(shù)的描述,正確的有:

A.純虛函數(shù)是在基類中聲明的虛函數(shù),沒(méi)有函數(shù)體

B.純虛函數(shù)用于定義抽象類

C.純虛函數(shù)不能被直接調(diào)用

D.純虛函數(shù)在派生類中必須被重寫

4.下列關(guān)于虛析構(gòu)函數(shù)的描述,正確的有:

A.虛析構(gòu)函數(shù)是用于釋放基類指針指向的對(duì)象

B.虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù)

C.虛析構(gòu)函數(shù)在基類中可以調(diào)用派生類的虛析構(gòu)函數(shù)

D.虛析構(gòu)函數(shù)不能被重寫

5.下列關(guān)于動(dòng)態(tài)綁定和多態(tài)性的描述,正確的有:

A.動(dòng)態(tài)綁定是指在運(yùn)行時(shí)確定對(duì)象的類型

B.動(dòng)態(tài)綁定是C++中實(shí)現(xiàn)多態(tài)性的基礎(chǔ)

C.動(dòng)態(tài)綁定是通過(guò)虛函數(shù)表實(shí)現(xiàn)的

D.動(dòng)態(tài)綁定只能用于虛函數(shù)

6.下列關(guān)于虛函數(shù)表的描述,正確的有:

A.虛函數(shù)表是C++中實(shí)現(xiàn)多態(tài)性的關(guān)鍵機(jī)制

B.虛函數(shù)表是一個(gè)指針數(shù)組,存儲(chǔ)了虛函數(shù)的地址

C.虛函數(shù)表在類的實(shí)例化時(shí)生成

D.虛函數(shù)表只能用于虛函數(shù)

7.下列關(guān)于繼承和多態(tài)性的描述,正確的有:

A.繼承是實(shí)現(xiàn)多態(tài)性的基礎(chǔ)

B.繼承使得子類可以繼承父類的成員函數(shù)和數(shù)據(jù)

C.繼承分為公有繼承、私有繼承和保護(hù)繼承

D.繼承不能用于實(shí)現(xiàn)多態(tài)性

8.下列關(guān)于虛析構(gòu)函數(shù)和構(gòu)造函數(shù)的描述,正確的有:

A.構(gòu)造函數(shù)不能是虛函數(shù)

B.析構(gòu)函數(shù)不能是虛函數(shù)

C.虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù)

D.虛析構(gòu)函數(shù)在基類中必須被聲明為虛函數(shù)

9.下列關(guān)于虛析構(gòu)函數(shù)和靜態(tài)成員函數(shù)的描述,正確的有:

A.靜態(tài)成員函數(shù)不能調(diào)用虛函數(shù)

B.靜態(tài)成員函數(shù)不能訪問(wèn)虛析構(gòu)函數(shù)

C.靜態(tài)成員函數(shù)可以訪問(wèn)派生類的成員

D.靜態(tài)成員函數(shù)可以訪問(wèn)基類的成員

10.下列關(guān)于C++中多態(tài)性的應(yīng)用場(chǎng)景,正確的有:

A.多態(tài)性可以用于實(shí)現(xiàn)接口

B.多態(tài)性可以用于實(shí)現(xiàn)數(shù)據(jù)抽象

C.多態(tài)性可以用于實(shí)現(xiàn)模板編程

D.多態(tài)性可以用于實(shí)現(xiàn)面向?qū)ο缶幊?/p>

三、判斷題(每題2分,共10題)

1.多態(tài)性是C++中面向?qū)ο缶幊痰囊粋€(gè)核心特性。()

2.虛函數(shù)可以保證在派生類中調(diào)用的是正確的函數(shù)版本。()

3.純虛函數(shù)必須存在于基類中,否則無(wú)法定義抽象類。()

4.虛析構(gòu)函數(shù)在派生類中不能被重寫。()

5.動(dòng)態(tài)綁定只能通過(guò)虛函數(shù)實(shí)現(xiàn)。()

6.虛函數(shù)表在類的實(shí)例化過(guò)程中被創(chuàng)建并銷毀。()

7.繼承關(guān)系中的多態(tài)性是編譯時(shí)多態(tài)。()

8.靜態(tài)成員函數(shù)可以訪問(wèn)類的虛函數(shù)表。()

9.多態(tài)性可以提高代碼的可維護(hù)性和可擴(kuò)展性。()

10.在C++中,多態(tài)性可以用于實(shí)現(xiàn)設(shè)計(jì)模式中的策略模式。()

四、簡(jiǎn)答題(每題5分,共6題)

1.簡(jiǎn)述C++中多態(tài)性的兩種實(shí)現(xiàn)方式。

2.解釋什么是虛函數(shù)表,并說(shuō)明其在多態(tài)性中的作用。

3.描述純虛函數(shù)與虛函數(shù)的區(qū)別。

4.解釋為什么在析構(gòu)函數(shù)中使用虛函數(shù)是必要的。

5.如何在C++中使用多態(tài)性來(lái)實(shí)現(xiàn)接口?

6.舉例說(shuō)明多態(tài)性在實(shí)際編程中的應(yīng)用場(chǎng)景。

試卷答案如下

一、單項(xiàng)選擇題答案及解析:

1.C。多態(tài)性可以通過(guò)函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn),而不是函數(shù)重載和運(yùn)算符重載。

2.D。虛函數(shù)可以用于靜態(tài)成員函數(shù),但靜態(tài)成員函數(shù)不能調(diào)用虛函數(shù)。

3.D。純虛函數(shù)在派生類中必須被重寫,因?yàn)樗鼈儧](méi)有函數(shù)體。

4.C。虛析構(gòu)函數(shù)在基類中必須被聲明為虛函數(shù),以確保派生類對(duì)象的正確析構(gòu)。

5.D。動(dòng)態(tài)綁定是通過(guò)虛函數(shù)實(shí)現(xiàn)的,它允許在運(yùn)行時(shí)根據(jù)對(duì)象的實(shí)際類型調(diào)用相應(yīng)的函數(shù)。

6.D。虛函數(shù)表只能用于虛函數(shù),它是實(shí)現(xiàn)動(dòng)態(tài)綁定的關(guān)鍵機(jī)制。

7.D。繼承不能用于實(shí)現(xiàn)多態(tài)性,多態(tài)性是通過(guò)繼承和虛函數(shù)實(shí)現(xiàn)的。

8.B。虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù),以確?;愔羔樦赶虻膶?duì)象能夠正確析構(gòu)。

9.A。靜態(tài)成員函數(shù)不能調(diào)用虛函數(shù),因?yàn)樗鼈儾灰蕾囉趯?duì)象的實(shí)例。

10.C。多態(tài)性可以用于實(shí)現(xiàn)接口,允許不同的類實(shí)現(xiàn)相同的接口。

二、多項(xiàng)選擇題答案及解析:

1.A,C,D。多態(tài)性允許同一操作作用于不同的對(duì)象,是面向?qū)ο缶幊痰暮诵奶匦?,通過(guò)繼承和虛函數(shù)實(shí)現(xiàn)。

2.A,B,C,D。虛函數(shù)必須在基類中聲明,可以在派生類中繼承,不能是靜態(tài)成員函數(shù),用于實(shí)現(xiàn)動(dòng)態(tài)綁定。

3.A,B,C,D。純虛函數(shù)在基類中聲明,沒(méi)有函數(shù)體,用于定義抽象類,不能被直接調(diào)用,在派生類中必須被重寫。

4.A,B,C,D。虛析構(gòu)函數(shù)是用于釋放基類指針指向的對(duì)象,必須在派生類中聲明為虛函數(shù),可以調(diào)用基類的虛析構(gòu)函數(shù),不能被重寫。

5.A,B,C。動(dòng)態(tài)綁定是指在運(yùn)行時(shí)確定對(duì)象的類型,是C++中實(shí)現(xiàn)多態(tài)性的基礎(chǔ),通過(guò)虛函數(shù)表實(shí)現(xiàn)。

6.A,B,C,D。虛函數(shù)表是C++中實(shí)現(xiàn)多態(tài)性的關(guān)鍵機(jī)制,是一個(gè)指針數(shù)組,存儲(chǔ)了虛函數(shù)的地址,在類的實(shí)例化時(shí)生成。

7.A,B,C,D。繼承是實(shí)現(xiàn)多態(tài)性的基礎(chǔ),使得子類可以繼承父類的成員函數(shù)和數(shù)據(jù),分為公有繼承、私有繼承和保護(hù)繼承。

8.A,B,C,D。虛析構(gòu)函數(shù)在派生類中必須被聲明為虛函數(shù),以確?;愔羔樦赶虻膶?duì)象能夠正確析構(gòu),在基類中可以調(diào)用派生類的虛析構(gòu)函數(shù)。

9.A,B,C,D。靜態(tài)成員函數(shù)不能調(diào)用虛函數(shù),不能訪問(wèn)虛析構(gòu)函數(shù),可以訪問(wèn)派生類的成員,可以訪問(wèn)基類的成員。

10.A,B,C,D。多態(tài)性可以用于實(shí)現(xiàn)接口,實(shí)現(xiàn)數(shù)據(jù)抽象,實(shí)現(xiàn)模板編程,實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>

三、判斷題答案及解析:

1.對(duì)。多態(tài)性是C++中面向?qū)ο缶幊痰囊粋€(gè)核心特性。

2.對(duì)。虛函數(shù)可以保證在派生類中調(diào)用的是正確的函數(shù)版本。

3.對(duì)。純虛函數(shù)必須存在于基類中,否則無(wú)法定義抽象類。

4.錯(cuò)。虛析構(gòu)函數(shù)在派生類中不能被重寫,但在派生類中必須被聲明為虛函數(shù)。

5.對(duì)。動(dòng)態(tài)綁定只能通過(guò)虛函數(shù)實(shí)現(xiàn)。

6.對(duì)。虛函數(shù)表在類的實(shí)例化過(guò)程中被創(chuàng)建并銷毀。

7.錯(cuò)。繼承關(guān)系中的多態(tài)性是運(yùn)行時(shí)多態(tài),而不是編譯時(shí)多態(tài)。

8.錯(cuò)。靜態(tài)成員函數(shù)不能訪問(wèn)類的虛函數(shù)表。

9.對(duì)。多態(tài)性可以提高代碼的可維護(hù)性和可擴(kuò)展性。

10.對(duì)。在C++中,多態(tài)性可以用于實(shí)現(xiàn)設(shè)計(jì)模式中的策略模式。

四、簡(jiǎn)答題答案及解析:

1.C++中多態(tài)性的兩種實(shí)現(xiàn)方式:編譯時(shí)多態(tài)(通過(guò)函數(shù)重載和運(yùn)算符重載實(shí)現(xiàn))和運(yùn)行時(shí)多態(tài)(通過(guò)虛函數(shù)和繼承實(shí)現(xiàn))。

2.虛函數(shù)表是一個(gè)指針數(shù)組,存儲(chǔ)了虛函數(shù)的地址。它在類的實(shí)例化時(shí)生成,用于實(shí)現(xiàn)動(dòng)態(tài)綁定,使得根據(jù)對(duì)象的實(shí)際類型調(diào)用相應(yīng)的函數(shù)。

3.純虛函數(shù)與虛函數(shù)的區(qū)別在于純虛函數(shù)沒(méi)有函數(shù)體,用于定義抽象類,不能被直接調(diào)用,而虛函數(shù)在基類中聲明,可

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論