C++期末考試復(fù)習(xí)題理工_第1頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.一、單項(xiàng)選擇題(本大題共10 小題,每小題2 分,共20 分)1.在C+中,函數(shù)原型不能標(biāo)識(shí)(D )A.函數(shù)的返回類(lèi)型B.函數(shù)參數(shù)的個(gè)數(shù)C.函數(shù)參數(shù)類(lèi)型D.函數(shù)的功能2.在C+程序中,對(duì)象之間的相互通信通過(guò)(B )A.繼承實(shí)現(xiàn)B.調(diào)用成員函數(shù)實(shí)現(xiàn)C.封裝實(shí)現(xiàn)D.函數(shù)重載實(shí)現(xiàn)3.對(duì)于任意一個(gè)類(lèi),析構(gòu)函數(shù)的個(gè)數(shù)最多為(B )A.0 B.1 C.2 D.35.友元關(guān)系不能(A )A.繼承B.是類(lèi)與類(lèi)的關(guān)系C.是一個(gè)類(lèi)的成員函數(shù)與另一個(gè)類(lèi)的關(guān)系D.提高程序的運(yùn)行效率6.語(yǔ)句ofstream f(SALARY.DAT,ios:appios:binary)的功能是建立流對(duì)象f,試圖打開(kāi)文件SALARY.

2、DAT 并與之連接,并且(A )A.若文件存在,將文件寫(xiě)指針定位于文件尾;若文件不存在,建立一個(gè)新文件B.若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗C.若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件D.若文件存在,打開(kāi)失??;若文件不存在,建立一個(gè)新文件7.下面說(shuō)法正確的是(B )A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方B.內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方C.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義 D.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline 定義/當(dāng)程序使用內(nèi)斂函數(shù)時(shí),編譯器將每個(gè)函數(shù)調(diào)用都用函數(shù)內(nèi)的語(yǔ)句代替,這樣就

3、省去了函數(shù)調(diào)用地開(kāi)銷(xiāo)8.可以用p.a 的形式訪(fǎng)問(wèn)派生類(lèi)對(duì)象p 的基類(lèi)成員a,其中a 是(D )A.私有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.公有繼承的公有成員/函數(shù)可以調(diào)用成員,對(duì)象不可以調(diào)用9.在公有派生情況下,有關(guān)派生類(lèi)對(duì)象和基類(lèi)對(duì)象的關(guān)系,不正確的敘述是( C)A.派生類(lèi)的對(duì)象可以賦給基類(lèi)的對(duì)象 B.派生類(lèi)的對(duì)象可以初始化基類(lèi)的引用C.派生類(lèi)的對(duì)象可以直接訪(fǎng)問(wèn)基類(lèi)中的成員D.派生類(lèi)的對(duì)象的地址可以賦給指向基類(lèi)的指針/派生類(lèi)的對(duì)象是不能訪(fǎng)問(wèn)基類(lèi)的任何成員10.對(duì)于類(lèi)定義class Apublic:virtual void func1( ) void func2( )

4、 class B:public Apublic:void func1( )cout<<class B func 1<<end1virtual void func2( )cout<<class B func 2<<end1下面正確的敘述是(C )A. A:func2( )和B:func1( )都是虛函數(shù) B. A:func2( )和B:func1( )都不是虛函數(shù)C. B:func1( )是虛函數(shù),而A:func2( )不是虛函數(shù)D. B:func1( )不是虛函數(shù),而A:func2( )是虛函數(shù)第二部分非選擇題(共80 分)二、填空題(本大題共1

5、0 小題,每小題2 分,共20 分)11.定義類(lèi)的動(dòng)態(tài)對(duì)象數(shù)組時(shí),系統(tǒng)只能夠自動(dòng)調(diào)用該類(lèi)的_無(wú)參_構(gòu)造函數(shù)對(duì)其進(jìn)行初始化。12.在C+程序設(shè)計(jì)中,建立繼承關(guān)系倒掛的樹(shù)應(yīng)使用_單_一_繼承。13.表達(dá)式cout<<end1 還可表示為_(kāi)cout<<n_。14.基類(lèi)的公有成員在派生類(lèi)中的訪(fǎng)問(wèn)權(quán)限由_訪(fǎng)問(wèn)控制_決定。15.C+支持的兩種多態(tài)性分別是_編譯時(shí)的_(操作重載)_靜態(tài)_多態(tài)性和_運(yùn)行時(shí)的(虛函數(shù))_動(dòng)態(tài)_多態(tài)性。16.C+中語(yǔ)句const char * const p=hello;所定義的指針p 和它所指的內(nèi)容都不能被_改變(重新賦值)_。17.假定AB 為一個(gè)類(lèi),

6、則語(yǔ)句AB(AB&x);為該類(lèi)_拷貝_構(gòu)造函數(shù)的原型說(shuō)明。18.將關(guān)鍵字const 寫(xiě)在成員函數(shù)的_函數(shù)頭_和_函數(shù)體_之間時(shí),所修飾的是this 指針。19.在C+中,訪(fǎng)問(wèn)一個(gè)對(duì)象的成員所用的運(yùn)算符是_·_,訪(fǎng)問(wèn)一個(gè)指針?biāo)赶虻膶?duì)象的成員所用的運(yùn)算符是_>_。20.派生類(lèi)從一個(gè)或多個(gè)以前定義的該類(lèi)的_基類(lèi)_一、單項(xiàng)選擇題(每題2分,共20分)1. 派生類(lèi)對(duì)象可訪(fǎng)問(wèn)基類(lèi)中的什么成員( A)A.公有繼承的公有成員          B.公有繼承的私有成員 

7、;   C.公有繼承的保護(hù)成員          D.私有繼承的公有成員2. 定義析構(gòu)函數(shù)時(shí),應(yīng)該注意(  C)A.其名與類(lèi)名完全相同          B.返回類(lèi)型是void類(lèi)型    C.無(wú)形參,也不可重載          

8、D.函數(shù)體中必須有delete語(yǔ)句3. 如果類(lèi)A被說(shuō)明成類(lèi)B的友元,則(D   )。   A.類(lèi)A的成員即類(lèi)B的成員   B.類(lèi)B的成員即類(lèi)A的成員    C.類(lèi)A的成員函數(shù)不得訪(fǎng)問(wèn)類(lèi)B的成員    D.類(lèi)B不一定是類(lèi)A的友元 4. 應(yīng)在下列程序劃線(xiàn)處填入的正確語(yǔ)句是( C ) *include class Base  public: void fun()cout<<"Base:fun

9、"<<endl; ; class Derived:public Base  void fun() _ / 顯示調(diào)用基類(lèi)的函數(shù)fun() cout<<"Derived:fun"<<ENDL; ; Afun();  B. Base.fun();  C. Base:fun();  D. Base->fun();5. 面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與(   A )放在一起,做為一個(gè)相互依存、不可分割的整體來(lái)處理

10、。 A.對(duì)數(shù)據(jù)的操作B.信息C.數(shù)據(jù)隱藏 D.數(shù)據(jù)抽象6. 在類(lèi)中聲明轉(zhuǎn)換函數(shù)時(shí)不能指定(   A )。   A.參數(shù)          B.訪(fǎng)問(wèn)權(quán)限    C.操作          D.標(biāo)識(shí)符  7. 在派生類(lèi)中重新定義虛函數(shù)時(shí)必須在(   A&

11、#160;)方面與基類(lèi)保持一致。    A.參數(shù)類(lèi)型          B.參數(shù)名字 C.操作內(nèi)容          D.賦值8. 下面關(guān)于C+中類(lèi)的繼承與派生的說(shuō)法錯(cuò)誤的是( C )。A基類(lèi)的protected成員在公有派生類(lèi)的成員函數(shù)中可以直接使用B基類(lèi)的protected成員在私有派生類(lèi)的成員函數(shù)中可以直接使用C公有派生時(shí),基類(lèi)的所有成員訪(fǎng)問(wèn)權(quán)限在派生

12、類(lèi)中保持不變D基類(lèi)的protected成員在保護(hù)派生類(lèi)的成員函數(shù)中可以直接使用9. 重載賦值操作符時(shí),應(yīng)聲明為(  C  )函數(shù)。    A.友元          B.虛  C.成員          D.多態(tài)10. 語(yǔ)句 ofstream f(SALARY.DAT,ios:appios

13、:binary); 的功能是建立流對(duì)象 f,試圖打開(kāi)文件 SALARY.DAT 并與之連接,并且 (A )  A. 若文件存在,將文件寫(xiě)指針定位于文件尾;若文件不存在,建立一個(gè)新文件  B. 若文件存在,將其置為空文件;若文件不存在,打開(kāi)失敗 C. 若文件存在,將文件寫(xiě)指針定位于文件首;若文件不存在,建立一個(gè)新文件D. 若文件存在,打開(kāi)失敗;若文件不存在,建立一個(gè)新文件 二、填空題(每空2分,共30分)1. 假定AB為一個(gè)類(lèi),則語(yǔ)句AB(AB&x)

14、;為該類(lèi)_復(fù)制構(gòu)造函數(shù)的原型說(shuō)明。2. C+支持的兩種多態(tài)性分別是_編譯時(shí)的_多態(tài)性和運(yùn)行時(shí)的_多態(tài)性。3. 定義類(lèi)的動(dòng)態(tài)對(duì)象數(shù)組時(shí),系統(tǒng)只能夠自動(dòng)調(diào)用該類(lèi)的無(wú)參的_構(gòu)造函數(shù)對(duì)其進(jìn)行初始化。4. 運(yùn)算符重載時(shí),其函數(shù)名由 _operator運(yùn)算符_ 構(gòu)成。成員函數(shù)重載雙目運(yùn)算符時(shí),左操作數(shù)是_當(dāng)前對(duì)象_,右操作數(shù)是_函數(shù)形參_。C+標(biāo)準(zhǔn)庫(kù)中的異常層次的根類(lèi)為exception _類(lèi);MFC類(lèi)庫(kù)中絕大多數(shù)類(lèi)都源自根類(lèi)_ CObject _類(lèi)。在下面橫線(xiàn)處填上適當(dāng)字句,完成類(lèi)中成員函數(shù)的定義。classAint*a;public:A(intaa=0)a=_ new int(aa)_; /用aa初始

15、化a所指向的動(dòng)態(tài)對(duì)象A()_delete a_;/釋放動(dòng)態(tài)存儲(chǔ)空間;7C+支持面向?qū)ο蟪绦蛟O(shè)計(jì)的四個(gè)要素是:封裝性、繼承性、抽象性和多態(tài)性。8模板分為 類(lèi) 模板和 函數(shù) 模板。一、單項(xiàng)選擇題(每題2分,共20分)1. 在下面選項(xiàng)中,對(duì)類(lèi)的拷貝構(gòu)造函數(shù)的聲明形式是(B)A. A:A(&) B. A:A(constA&) C. A:A(A) D. void A:A(A&a)2. 下面關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是(A )A成員函數(shù)不可以設(shè)置參數(shù)的默認(rèn)值 B成員函數(shù)可以重載C成員函數(shù)可以是內(nèi)聯(lián)函數(shù) D成員函數(shù)可以是靜態(tài)的3. 下面關(guān)于類(lèi)模板敘述不正確的是( B ) A可以

16、有多個(gè)構(gòu)造函數(shù) B. 類(lèi)模板是模板類(lèi)的實(shí)例C. 一個(gè)類(lèi)模板可以用來(lái)實(shí)例化多個(gè)模板類(lèi) D. 類(lèi)模板可以有多個(gè)參數(shù)4. 要使一個(gè)類(lèi)成為抽象類(lèi),這個(gè)類(lèi)應(yīng)具有的條件是(A )A至少有一個(gè)純虛函數(shù) B. 至少有一個(gè)虛函數(shù)C. 只含有一個(gè)純虛函數(shù) D.只含有一個(gè)虛函數(shù)5. 有關(guān)運(yùn)算符重載正確的描述是( D )A.C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的操作個(gè)數(shù) B. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的優(yōu)先級(jí)C. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的結(jié)合性 D. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的原來(lái)的功能6. 下列說(shuō)法正確的是( D )。A. 一個(gè)類(lèi)的對(duì)象可以是另一個(gè)類(lèi)的成員

17、B.一個(gè)類(lèi)可以作為另一個(gè)類(lèi)的派生類(lèi)C.一個(gè)類(lèi)可以在另一個(gè)類(lèi)定義體進(jìn)行定義 D.以上說(shuō)法均正確7. 有如下程序:*include <iostream.h>class BASEchar c; public:BASE(char n):c(n) virtualBASE()cout<<c; ; class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()cout<<c; ; int main() DERIVED('X'); return 0; 執(zhí)行上

18、面的程序?qū)⑤敵觯?C )。A)X  B)YX  C)XY  D)Y8. 類(lèi)MyClass的定義如下:class MyClass public:MyClass()value=0;SetValue(int i)value=i; private: int value;則對(duì)語(yǔ)句:MyClass *p,my;p=&my;正確的描述是( D )。A. 語(yǔ)句p=&my;是把對(duì)象my賦值給指針變量p;B. 語(yǔ)句MyClass *p,my;會(huì)調(diào)用兩次類(lèi)MyClass的構(gòu)造函數(shù)C. 對(duì)語(yǔ)句*p.SetValue(5)的調(diào)用是正確的D. 語(yǔ)句p->SetValue

19、(5)與my.SetValue(5)等價(jià)9. 下列各類(lèi)函數(shù)中,C不是類(lèi)的成員函數(shù)。A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù) D. 拷貝構(gòu)造函數(shù)10.派生類(lèi)的對(duì)象對(duì)它的基類(lèi)成員中A是可以訪(fǎng)問(wèn)的。A. 公有繼承的公有成員B. 公有繼承的私有成員 C. 公有繼承的保護(hù)成員 D. 私有繼承的公有成員二、填空題(每空2分,共30分)1. 定義內(nèi)聯(lián)函數(shù)所用的關(guān)鍵字inline,定義友元所用的關(guān)鍵字為friend。2. 當(dāng)一個(gè)派生類(lèi)具有多個(gè)基類(lèi)時(shí),這種繼承方式稱(chēng)為_(kāi)多重繼承_。3. 通過(guò)一個(gè)構(gòu)造函數(shù)調(diào)用虛函數(shù)時(shí),C+系統(tǒng)對(duì)該調(diào)用采用靜態(tài) 聯(lián)編。4. 任何類(lèi)中允許有_privated_、public_、_prot

20、ected_三種訪(fǎng)問(wèn)控制類(lèi)型的成員,數(shù)據(jù)成員和成員函數(shù)的默認(rèn)類(lèi)型為_(kāi)privated _。5. 只有在 公有 繼承的情況下,基類(lèi)和派生類(lèi)之間才有賦值兼容性規(guī)則。6. C+標(biāo)準(zhǔn)庫(kù)中的異常層次的根類(lèi)定義在庫(kù)的頭文件_ exception.h_中。7. 運(yùn)算符重載使用的兩種方式是_成員函數(shù)_和友元函數(shù)_。8. C+支持面向?qū)ο蟪绦蛟O(shè)計(jì)的四個(gè)要素是:抽象性、多態(tài)性_、封裝性_和_繼承性_。一、單項(xiàng)選擇題(每題2分,共20分)1. 下面有關(guān)構(gòu)造函數(shù)和new運(yùn)算符關(guān)系正確的說(shuō)法是(D )Anew運(yùn)算符不調(diào)用構(gòu)造函數(shù) B. 構(gòu)造函數(shù)一定調(diào)用new運(yùn)算符C當(dāng)生成新類(lèi)的實(shí)例時(shí),先調(diào)用new運(yùn)算符,然后調(diào)用構(gòu)造函

21、數(shù)進(jìn)行初始化D. 當(dāng)new運(yùn)算符動(dòng)態(tài)產(chǎn)生類(lèi)的對(duì)象時(shí),new運(yùn)算符也自動(dòng)調(diào)用構(gòu)造函數(shù)2. 下面有關(guān)類(lèi)性質(zhì)的說(shuō)法錯(cuò)誤的是( D ) A.一個(gè)類(lèi)可以有多個(gè)構(gòu)造函數(shù),但只有一個(gè)析構(gòu)函數(shù) B.析構(gòu)函數(shù)和構(gòu)造函數(shù)都不能有返回類(lèi)型C.不能給析構(gòu)函數(shù)指定參數(shù) D.一個(gè)類(lèi)中不可以聲明具有類(lèi)類(lèi)型的數(shù)據(jù)成員3. 下面關(guān)于友元函數(shù)描述正確的是( C)A友元函數(shù)是類(lèi)的成員B友元函數(shù)在類(lèi)的外部聲明C友元函數(shù)在類(lèi)中聲明D. 友元函數(shù)能夠派生4. 下面敘述正確的是( D ) A. 派生類(lèi)不可以使用私用派生 B. 保護(hù)派生時(shí),基類(lèi)的保護(hù)成員在派生類(lèi)中是公有的C. 對(duì)基類(lèi)成員的訪(fǎng)問(wèn)允許二義性 D. 賦值兼容規(guī)則也適用于多重繼承的

22、組合5. 有關(guān)運(yùn)算符重載正確的描述是( D)A.C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的操作個(gè)數(shù) B. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的優(yōu)先級(jí)C. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的結(jié)合性 D. C+語(yǔ)言允許在重載運(yùn)算符時(shí)改變運(yùn)算符的原來(lái)的功能6. 下面描述中,表達(dá)錯(cuò)誤的是( B ).A. 公有繼承時(shí)基類(lèi)中的public成員在派生類(lèi)中仍是public的B. 公有繼承是基類(lèi)中的private成員在派生類(lèi)中仍是private的C. 公有繼承時(shí)基類(lèi)中的protected成員在派生類(lèi)中仍是protected的D. 私有繼承時(shí)基類(lèi)中的public成員在派生類(lèi)中是private的7. 拷貝構(gòu)造函數(shù)

23、的參數(shù)是( )A.某個(gè)對(duì)象名 B.某個(gè)對(duì)象的成員名 C.某個(gè)對(duì)象的引用名D.某個(gè)對(duì)象的指針名8. 下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是( )A構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù) B.構(gòu)造函數(shù)在定義類(lèi)對(duì)象時(shí)自動(dòng)執(zhí)行C構(gòu)造函數(shù)可以是內(nèi)聯(lián)函數(shù)D.構(gòu)造函數(shù)不可以重載9. 數(shù)組作為函數(shù)的形參時(shí),把數(shù)組名作為實(shí)參,傳遞給函數(shù)的是( )A該數(shù)組的首地址 B該數(shù)組的元素個(gè)數(shù)C該數(shù)組中的各元素值 D該數(shù)組的大小10. 通過(guò)一個(gè)析構(gòu)函數(shù)調(diào)用虛函數(shù)時(shí),C+系統(tǒng)對(duì)該調(diào)用采用()。A. 動(dòng)態(tài)聯(lián)編B. 靜態(tài)聯(lián)編 C. 不確定是哪種聯(lián)編D.函數(shù)重載二、填空題(每空2分,共30分)1成員名限定的符號(hào)是 : ,它可以在引用成員時(shí)避免 二義

24、性 。2只有在 公有 繼承的情況下,基類(lèi)和派生類(lèi)之間才有賦值兼容性規(guī)則。3. 模板分為 類(lèi) 模板和 函數(shù) 模板。4. 在用class定義一個(gè)類(lèi)時(shí),數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限是 。5. 已知intDBL(intn)returnn+n;和longDBL(longn)returnn+n;是一個(gè)函數(shù)模板的兩個(gè)實(shí)例,則該函數(shù)模板的定義是 () 。(要求寫(xiě)出函數(shù)模板的完整定義)6. 靜態(tài)數(shù)據(jù)成員必須在 類(lèi)外 進(jìn)行初始化。7. 含有純虛函數(shù)的類(lèi)稱(chēng)為 抽象類(lèi) 。8. 若Queue是一個(gè)類(lèi),aQueue是它的一個(gè)對(duì)象,而且該類(lèi)中定義了一個(gè)靜態(tài)成員函數(shù)show()則在類(lèi)外對(duì)該成員的函數(shù)進(jìn)行調(diào)用的方式可以為a

25、Queue.show()和Queue:show()。9. 定義內(nèi)聯(lián)函數(shù)所用的關(guān)鍵字為,定義友元所用的關(guān)鍵字為。10. 使用成員函數(shù)重載運(yùn)算符時(shí),若運(yùn)算符是二元的,則參數(shù)表中有 個(gè)操作數(shù),此時(shí)當(dāng)前對(duì)象 作為此運(yùn)算符的左操作數(shù)。一、單項(xiàng)選擇題(每題2分,共20分)1. 下面有關(guān)重載函數(shù)的說(shuō)法中正確的是(C )A重載函數(shù)必須具有不同的返回值類(lèi)型;B重載函數(shù)形參個(gè)數(shù)必須/先匹配個(gè)數(shù)在匹配類(lèi)型C重載函數(shù)必須有不同的形參列表D重載函數(shù)名可以不同;不同;2. 使用string類(lèi)建立對(duì)象的不正確方式是(D)。A. string str(“OK”); B. string str=”O(jiān)K”; C. string

26、str; D. string str=OK;3. 面關(guān)于C+中類(lèi)的繼承與派生的說(shuō)法錯(cuò)誤的是( C)A基類(lèi)的protected成員在公有派生類(lèi)的成員函數(shù)中可以直接使用B基類(lèi)的protected成員在私有派生類(lèi)的成員函數(shù)中可以直接使用C私有派生時(shí),基類(lèi)的所有成員訪(fǎng)問(wèn)權(quán)限在派生類(lèi)中保持不變D繼承可以分為單一繼承與多重繼承4. 面向?qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與(A )放在一起,作為一個(gè)相互依存、不可分割的整體來(lái)處理。A.對(duì)數(shù)據(jù)的操作B.信息C.數(shù)據(jù)隱藏D.數(shù)據(jù)抽象5. 一個(gè)類(lèi)的析構(gòu)函數(shù)A。A.唯一的 B.允許重載 C.至多可有兩個(gè) D.只能是缺省的6. 下列各類(lèi)函數(shù)中,( C )不是類(lèi)的成員函數(shù)。A.構(gòu)造函數(shù)

27、 B.析構(gòu)函數(shù) C.友元函數(shù) D.拷貝構(gòu)造函數(shù)7. 在下面選項(xiàng)中,對(duì)類(lèi)的拷貝構(gòu)造函數(shù)的聲明形式是( B )AA:A(&) B. A:A(constA&) C. A:A(A) D. void A:A(A&a)8. 下面關(guān)于靜態(tài)成員描述正確的是(B )A. 靜態(tài)成員是對(duì)象的數(shù)據(jù)成員B. 靜態(tài)成員是對(duì)象的成員C. 靜態(tài)成員是對(duì)象的成員函數(shù)D. 靜態(tài)成員不是對(duì)象的成員9. 下面關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是( A )A成員函數(shù)不可以設(shè)置參數(shù)的默認(rèn)值 B成員函數(shù)可以重載C成員函數(shù)可以是內(nèi)聯(lián)函數(shù)D成員函數(shù)可以是靜態(tài)的10. 下面敘述正確的是( D)A基類(lèi)的保護(hù)成員在派生類(lèi)中仍然

28、是保護(hù)的 B基類(lèi)的公有成員在派生類(lèi)中仍然是公有的C基類(lèi)的私有成員在派生類(lèi)中是私有的 D從基類(lèi)派生時(shí),可以有3種派生方法1. class base int a;public:int b;int f(int i,int j);class derive:baseint c;public:int base:b; base:f(int i,int j); ; 1 2 2. *include <iostream.h>class Apublic:void A(int i=0)m=i;void show()cout<<m;void A()private:int m;void main(

29、)A a(5);a.m+=10;a.show();3 4 5 3. *include<iostream>using namespace std;class baseint a;static int b;public:base(int m,int n):a(m),b(n)static int geta()return a;static int getb()return b;void show()cout<<geta()<<”,”<<getb()<<endl;base:int b=45;void main()6 7 8 1 int bas

30、e:b; 2 base:f(int i,int j);1 base:b; (或訪(fǎng)問(wèn)聲明僅僅調(diào)整名字的訪(fǎng)問(wèn),不可為它說(shuō)明任何類(lèi)型) 2 base:f; (或訪(fǎng)問(wèn)聲明不應(yīng)說(shuō)明函數(shù)參數(shù))3 void A(int i=0)m=i;4 void A()5 a.m+=10;3 構(gòu)造函數(shù)去掉void(或構(gòu)造函數(shù)不能指定返回值類(lèi)型)4 析構(gòu)函數(shù)去掉void(或析構(gòu)函數(shù)不能指定返回值類(lèi)型)5 對(duì)象不能訪(fǎng)問(wèn)私有成員 6 base(int m,int n):a(m),b(n)7 static int geta()return a;8 base:int b=45;6 不能通過(guò)構(gòu)造函數(shù)初始化靜態(tài)數(shù)據(jù)成員(只要把b(n)

31、去掉即可) 7 靜態(tài)成員函數(shù)中不能引用非靜態(tài)成員數(shù)據(jù)成員(或去掉static) 8 int base:b = 45; 1. Template<class T>T fun(T x)T y;y=T-2*x;retrun y;1 2 2. class basepublic: f(); f(int a); f(char *p);class derive:basepublic: void f(int s); base:f; 3. *include <iostream.h>class A public: void setA(int); void showA(); private:

32、int a;class B public: void setB(int); void showB(); private: int b;class C : public A, private B public: void setC(int, int, int); void showC(); private: int c;void A:setA(int x) a=x; void B:setB(int x) b=x; void C:setC(int x, int y, int z) a=x; b=y; setA(x); setB(y); c=z; 1 Template<class T>2

33、 y=T-2*x;1 改為template<class T> 2 T不能用作-的操作數(shù) 3 base:f;3 派生類(lèi)中具有與基類(lèi)同名的函數(shù),則基類(lèi)中的此函數(shù)不能在派生類(lèi)中進(jìn)行訪(fǎng)問(wèn)聲明4 a=x;5 b=y;6 obj.setB(6);7 obj.showB();8 return 0;4 派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)A類(lèi)的私有成員5 派生類(lèi)不能訪(fǎng)問(wèn)基類(lèi)B類(lèi)的私有成員6 不能訪(fǎng)問(wèn)B類(lèi)的公有成員setB7 不能訪(fǎng)問(wèn)B類(lèi)的公有成員showB 8 去掉此語(yǔ)句,或主函數(shù)的返回值void去掉或改為int 一、 填空(每題2分,共20分)1、 C+程序中,對(duì)象的初始化和清理工作,分別由兩個(gè)特殊的成員函數(shù)()

34、和()來(lái)完成。2、 在c+中,分別用(變量)與(函數(shù))來(lái)表現(xiàn)某種事物的所具有的屬性和行為,并且將它們封裝在一起,形成一種抽象數(shù)據(jù)類(lèi)型類(lèi)。3、 當(dāng)用一個(gè)對(duì)象初始化另一個(gè)新的同類(lèi)對(duì)象,將調(diào)用(),其特殊之處在于:形參是()。4、 模板是C+支持參數(shù)化的工具,我們通常用類(lèi)模板和函數(shù)模板,這些只是面向?qū)ο蟮模ǎ┬缘囊粋€(gè)方面。5、 如果在某個(gè)類(lèi)定義中用關(guān)鍵字()聲明了一個(gè)外部函數(shù)(也許是其他類(lèi)的一個(gè)成員)后,這個(gè)外部函數(shù)就可以例外的訪(fǎng)問(wèn)該類(lèi)的任何成員,這個(gè)外部函數(shù)稱(chēng)為類(lèi)的()函數(shù)。6、 可以將類(lèi)的成員聲明為static,使其成為()。這樣的成員在編譯時(shí)被創(chuàng)建,其實(shí)例只有一個(gè),為所有該類(lèi)的對(duì)象()。7、

35、()是動(dòng)態(tài)動(dòng)態(tài)聯(lián)編的基礎(chǔ)。它是非靜態(tài)的成員函數(shù),經(jīng)過(guò)()之后,在類(lèi)族中可以實(shí)現(xiàn)運(yùn)行過(guò)程中的多態(tài)。8、 程序中有如下語(yǔ)句:int a=30;int b=a+;int c=+a; 則b=( ),c=()9、 數(shù)組A2020中,第一個(gè)元素是(),最后一個(gè)元素是()10、聲明一個(gè)int型指針,請(qǐng)為其動(dòng)態(tài)分配含10個(gè)元素的地址空間:( )。二、 程序分析(30分)1、分析程序,寫(xiě)出程序的輸出結(jié)果(7分)。*include<iostream.h> class Clock private: int Hour,Minute,Second;public:void SetTime(int NewH=2

36、4,int NewM=24,int NewS=24)Hour=NewH;Minute=NewM;Second=NewS;void ShowTime()cout<<Hour<<”:”<<Minute<<”:”<<Second<<endl;void main()cout<<”time set and output: ”<<endl;Clock MyClock;MyCLock.SetTime();MyClock.ShowTime();MyClock.SetTime(8,30,30);MyClock.Sho

37、wTime();2、分析程序,寫(xiě)出程序的輸出結(jié)果(7分)。*include<iostream.h> class pointprivate:int x,y;public:point(int *=0,int yy=0)x=*;y=yy;cout<<”構(gòu)造函數(shù)被調(diào)用”<<endl;point(point &p);int GetX()return x;int GetY()return y;point:point(point &p)x=p.x;y=p.y;cout<<”拷貝構(gòu)造函數(shù)被調(diào)用”<<endl;void main()po

38、int A(4,5);point B(A);cout<<B.GetX()<<endl;3、 在括號(hào)中注釋相應(yīng)的語(yǔ)句(8分)/有動(dòng)態(tài)棧區(qū)的stack類(lèi)class stackint stacksize;long *buffer;long *sp;public:stack(int size)/()stacksize=size;sp=buffer=new longsize;/()stack()/()delete buffer;/();void push(long );long pop();void stack:push(long data)if(sp>=buffer+st

39、acksize)cout<<"overflow!n"else*sp=data;sp+;long stack:pop()if(sp<=buffer)cout<<"stack is empty!n"return 0;else return(*-sp);void main()stack *pa=new stack(10);/()pa->push(351);/->是()pa->push(7075461);cout<<endl;cout<<pa->pop()<<”is popped.n”;delete pa;/()4、注釋下列語(yǔ)句(8分)*include<fstream.h>*include<iostream.h>*in

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論