選擇題填空題 判斷題_第1頁(yè)
選擇題填空題 判斷題_第2頁(yè)
選擇題填空題 判斷題_第3頁(yè)
選擇題填空題 判斷題_第4頁(yè)
選擇題填空題 判斷題_第5頁(yè)
已閱讀5頁(yè),還剩24頁(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)介

1、C+ 選擇題 填空題 判斷題1、選擇題1、_只能訪問(wèn)靜態(tài)成員變量。 A 靜態(tài)函數(shù) B 虛函數(shù) C 構(gòu)造函數(shù) D 析構(gòu)函數(shù) 2、下列的各類(lèi)函數(shù)中,_不是類(lèi)的成員函數(shù)。 A 構(gòu)造函數(shù) B 析構(gòu)函數(shù) C友元函數(shù) D 拷貝構(gòu)造函數(shù) 3、友元的作用_。 A 提高程序的運(yùn)行效率 B 加強(qiáng)類(lèi)的封裝性 C 實(shí)現(xiàn)數(shù)據(jù)的隱藏性 D 增加成員函數(shù)的種類(lèi) 4、類(lèi)模板的使用實(shí)際上是將類(lèi)模板實(shí)例化成一個(gè)具體的_。 A 類(lèi) B 對(duì)象 C 函數(shù) D 模板類(lèi) 5、下列函數(shù)中,_不能重載。 A 成員函數(shù) B 非成員函數(shù) C 析構(gòu)函數(shù) D 構(gòu)造函數(shù) 6、_是一個(gè)在基類(lèi)中說(shuō)明的虛函數(shù),它在該基類(lèi)中沒(méi)有定義,但要求任何派生類(lèi)都必須定義

2、自己的版本。 A 虛析構(gòu)函數(shù) B虛構(gòu)造函數(shù) C純虛函數(shù) D 靜態(tài)成員函數(shù) 7、_是istream的派生類(lèi),處理文件輸入;_是iostream的派生類(lèi),可以同時(shí)處理文件的I/O。 A、 ifstream B、 ostream C、 fstream D、 ofstream 8、對(duì)于派生類(lèi)的構(gòu)造函數(shù),在定義對(duì)象時(shí)構(gòu)造函數(shù)的執(zhí)行順序?yàn)椋?先執(zhí)行_,再執(zhí)行_,后執(zhí)行_。 A 成員對(duì)象的構(gòu)造函數(shù) B 基類(lèi)的構(gòu)造函數(shù) C 派生類(lèi)本身的構(gòu)造函數(shù) 9、局部變量可以隱藏全局變量,那么在有同名全局變量和局部變量的情形時(shí),可以用_提供對(duì)全局變量的訪問(wèn)。 A 域運(yùn)算符 B 類(lèi)運(yùn)算符 C 重載 D 引用 10、一個(gè)_允許

3、用戶為類(lèi)定義一種模式,使得類(lèi)中的某些數(shù)據(jù)成員及某些成員函數(shù)的返回值能取任意類(lèi)型。 A 函數(shù)模板 B 模板函數(shù) C 類(lèi)模板 D 模板類(lèi) 11、系統(tǒng)在調(diào)用重載函數(shù)時(shí),往往根據(jù)一些條件確定哪個(gè)重載函數(shù)被調(diào)用,在下列選項(xiàng)中,不能作為依據(jù)的是_。 A 參數(shù)個(gè)數(shù) B 參數(shù)的類(lèi)型 C 函數(shù)名稱 D函數(shù)的類(lèi)型 12、如果一個(gè)類(lèi)至少有一個(gè)純虛函數(shù),那么就稱該類(lèi)為_(kāi)。 A 抽象類(lèi) B 虛基類(lèi) C 派生類(lèi) D 以上都不對(duì) 13、進(jìn)行文件操作時(shí)需要包含_文件。 A iostream B fstream C stdio.h D stdliB、h 14、在C+中,打開(kāi)一個(gè)文件,就是將這個(gè)文件與一個(gè)_建立關(guān)聯(lián);關(guān)閉一個(gè)文件

4、,就取消這種關(guān)聯(lián)。 A 類(lèi) B 流 C 對(duì)象 D 結(jié)構(gòu) 15、_提供了類(lèi)對(duì)外部的接口,而_不允許外界訪問(wèn),但允許派生類(lèi)的成員訪問(wèn)。 A 公有成員 B 私有成員 C 私有成員函數(shù) D 保護(hù)成員16、C+對(duì)C語(yǔ)言作了很多改進(jìn),下列描述中_使得C語(yǔ)言發(fā)生了質(zhì)變,從面向過(guò)程變成了面向?qū)ο蟆?A、增加了一些新的運(yùn)算符; B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù); C、規(guī)定函數(shù)說(shuō)明必須用原型; D、引進(jìn)了類(lèi)和對(duì)象的概念; 17、在C+中,關(guān)于下列設(shè)置缺省參數(shù)值的描述中,_是正確的。 A、不允許設(shè)置缺省參數(shù)值; B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒(méi)有指定缺省值的參數(shù); C、只能在函數(shù)的定義中指定參數(shù)的缺省值

5、; D、設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置; 18、_不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明。 19、_是析構(gòu)函數(shù)的特征。 A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù); B、析構(gòu)函數(shù)名與類(lèi)名不同; C、析構(gòu)函數(shù)的定義只能在類(lèi)體內(nèi); D、一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù); 大家?guī)兔?,考試要用的?,要答案吖,謝謝哦 ,急!問(wèn)題補(bǔ)充: 20、關(guān)于成員函數(shù)特征的下列描述中,_是錯(cuò)誤的。 A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù); B、成員函數(shù)可以重載; C、成員函數(shù)可以設(shè)置缺省參數(shù)值; D、成員函數(shù)可以是靜態(tài)的; 21、下列靜

6、態(tài)數(shù)據(jù)成員的特性中,_是錯(cuò)誤的。 A、說(shuō)明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static; B、靜態(tài)數(shù)據(jù)成員要在類(lèi)體外進(jìn)行初始化; C、靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的; D、引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加<類(lèi)名>和作用域運(yùn)算符; 22、關(guān)于new運(yùn)算符的下列描述中,_是錯(cuò)誤的。 A、它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組; B、使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除; C、使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值; 23、關(guān)于delete運(yùn)算符的下列描述中,_是錯(cuò)誤的。 A、它必須用于new返回的指針; B、使用它刪除對(duì)象時(shí)要調(diào)用析構(gòu)函數(shù)

7、; C、對(duì)一個(gè)指針可以使用多次該運(yùn)算符; D、指針名前只有一對(duì)方括號(hào)符號(hào),不管所刪除數(shù)組的維數(shù)。最佳答案 1 A2 C3 C4 A5 C6 C7 AC8 ABC9 A10 C11 D12 A13 B14 B15 AD16 D17 B18 D19 A20 A21 C22 D23 CC+選擇題求助(覺(jué)得必對(duì)的,請(qǐng)另外選擇出來(lái),作為參考)20分 標(biāo)簽:選擇題 試題 選題 C+ 回答:1   瀏覽:470   提問(wèn)時(shí)間:2010-06-23 09:42一、單選題(共 20 道試題) V 1. 說(shuō)明友元函數(shù)的關(guān)鍵字為() A. inline B. virtual C. friend

8、D. define 2. 對(duì)A *p用new A或(A *)malloc(sizeof (A)賦值,如下敘述正確的是() A. malloc分配內(nèi)存后會(huì)調(diào)用構(gòu)造函數(shù)初始化,但new函數(shù)不會(huì)。 B. new分配內(nèi)存后會(huì)調(diào)用構(gòu)造函數(shù)初始化,但malloc函數(shù)不會(huì)。 C. new和malloc分配內(nèi)存后都會(huì)調(diào)用構(gòu)造函數(shù)初始化。 D. new和malloc分配內(nèi)存后都不會(huì)調(diào)用構(gòu)造函數(shù)初始化。 3. 運(yùn)算符重載是對(duì)已有的運(yùn)算符賦予多重含義,因此() A. 可以對(duì)基本類(lèi)型(如int類(lèi)型)的數(shù)據(jù),重新定義“+”運(yùn)算符的含義 B. 可以改變一個(gè)已有運(yùn)算符的優(yōu)先級(jí)和操作數(shù)個(gè)數(shù) C. 只能重載C+中已經(jīng)有的運(yùn)算符

9、,不能定義新運(yùn)算符 D. C+中已經(jīng)有的所有運(yùn)算符都可以重載 4. 有關(guān)類(lèi)和對(duì)象的說(shuō)法不正確的是() A. 對(duì)象是類(lèi)的一個(gè)實(shí)例 B. 一個(gè)類(lèi)只能有一個(gè)對(duì)象 C. 任何一個(gè)對(duì)象只能屬于一個(gè)具體的類(lèi) D. 類(lèi)與對(duì)象的關(guān)系和數(shù)據(jù)類(lèi)型與變量的關(guān)系相似 5. 下面()不能由編譯系統(tǒng)自動(dòng)生成 A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 拷貝構(gòu)造函數(shù) D. 友元函數(shù) 6. 重載“>>”時(shí),為保證其連用性,重載函數(shù)的返回類(lèi)型應(yīng)為() A. istream B. ostream C. istream & D. ostream & 7. 下列關(guān)于運(yùn)算符重載的描述中,正確的是() A. 不能改

10、變運(yùn)算符的優(yōu)先級(jí) B. 能夠改變操作數(shù)的數(shù)目 C. 能夠重載內(nèi)嵌類(lèi)型的運(yùn)算符的預(yù)定含義 D. 通過(guò)重載運(yùn)算符“()”能夠改變運(yùn)算符的結(jié)合性 8. C+源程序文件的擴(kuò)展名為() A. .cpp B. .c C. .c+ D. .dll 9. 若有float f=6.8;int i= int(f); 則i的值為() A. 6 B. 7 C. 6.8 D. 不確定 10. 下列()是C+語(yǔ)言的有效標(biāo)識(shí)符。 A. No.1 B. 12345 C. _No1 D. int 11. private訪問(wèn)屬性限制對(duì)象的成員可以在()中訪問(wèn)。 A. 本類(lèi)的成員函數(shù) B. main函數(shù) C. 父類(lèi)的成員函數(shù) D.

11、 子類(lèi)的成員函數(shù) 12. 含有()的類(lèi)稱為抽象類(lèi),不能直接用它實(shí)例化對(duì)象。 A. 純虛函數(shù) B. 虛函數(shù) C. 靜態(tài)成員 D. 友元 13. 有類(lèi)模板定義如下:template <class Type> class Dream 下列類(lèi)對(duì)象的定義中,正確的是() A. Dream a B. Dream<class int> a C. Dream<int> a D. Dream<class Type> a 14. 如果定義了一個(gè)類(lèi)myclass,則為myclass類(lèi)對(duì)象以成員函數(shù)形式重載后+運(yùn)算符的聲明應(yīng)該為() A. myclass operato

12、r+() B. myclass operator+( int ) C. myclass& operator+() D. myclass& operator+( int ) 15. 下列()不能有參數(shù)。 A. 構(gòu)造函數(shù) B. 析構(gòu)函數(shù) C. 友元函數(shù) D. 運(yùn)算 16. 下列關(guān)于抽象類(lèi)的描述中,正確的是() A. 抽象類(lèi)中最多只能有一個(gè)純虛函數(shù) B. 抽象類(lèi)不能定義該類(lèi)的指針 C. 抽象類(lèi)不能定義該類(lèi)的對(duì)象 D. 抽象類(lèi)至少有一個(gè)虛函數(shù) 17. 以下()是不正確的強(qiáng)制類(lèi)型轉(zhuǎn)換方式。 A. (type表達(dá)式) B. (type)表達(dá)式 C. type(表達(dá)式) D. (type)(

13、表達(dá)式) 18. 有如下函數(shù)模板定義:template <class T> T f(T x,T y) return x*x+y*y; 在下列對(duì)f的調(diào)用中,錯(cuò)誤的是() A. f(3,5) B. f(3.0,5.5) C. f<int>(3,5.5) D. f(3,5.5) 19. 空類(lèi)就是沒(méi)有()的類(lèi)。 A. 類(lèi)名 B. 任何成員 C. 數(shù)據(jù)成員 D. 成員函數(shù) 20. 下列關(guān)于類(lèi)的描述中,錯(cuò)誤的說(shuō)法是() A. 類(lèi)是一組對(duì)象的模板 B. 類(lèi)是數(shù)據(jù)和操作的封裝體 C. 類(lèi)是對(duì)象的實(shí)例 D. 類(lèi)是一種自定義的數(shù)據(jù)類(lèi)型 共0條評(píng)論.學(xué)姐 1.C 2.B 3.C 4.B 5.

14、A 6.C 7. 8.A 9.A 10.A 11.A 12.A 13.C 14. 15.B 16. 17. 18. 19.B 20.C 模擬試題一一、選擇題1、C+對(duì)C語(yǔ)言作了很多改進(jìn),下列描述中()使得C語(yǔ)言發(fā)生了質(zhì)變,從面向過(guò)程變成了面向?qū)ο?。A、增加了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說(shuō)明必須用原型;D、引進(jìn)了類(lèi)和對(duì)象的概念;2、下列描述中,()是錯(cuò)誤的。A、內(nèi)聯(lián)函數(shù)主要解決程序的運(yùn)行效率問(wèn)題;B、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前;C、內(nèi)聯(lián)函數(shù)中可以包括各種語(yǔ)句;D、對(duì)內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明;3、在C+中,關(guān)于下列設(shè)置缺省參數(shù)值的描

15、述中,()是正確的。A、不允許設(shè)置缺省參數(shù)值;B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒(méi)有指定缺省值的參數(shù);C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;D、設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置;4、()不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明。5、()是析構(gòu)函數(shù)的特征。 A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù); B、析構(gòu)函數(shù)名與類(lèi)名不同; C、析構(gòu)函數(shù)的定義只能在類(lèi)體內(nèi); D、一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù);6、關(guān)于成員函數(shù)特征

16、的下列描述中,()是錯(cuò)誤的。 A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù); B、成員函數(shù)可以重載; C、成員函數(shù)可以設(shè)置缺省參數(shù)值; D、成員函數(shù)可以是靜態(tài)的;7、下列靜態(tài)數(shù)據(jù)成員的特性中,()是錯(cuò)誤的。 A、說(shuō)明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static; B、靜態(tài)數(shù)據(jù)成員要在類(lèi)體外進(jìn)行初始化; C、靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的; D、引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加<類(lèi)名>和作用域運(yùn)算符;8、友元的作用是()。 A、提高程序的運(yùn)用效率; B、加強(qiáng)類(lèi)的封裝性; C、實(shí)現(xiàn)數(shù)據(jù)的隱藏性;

17、 D、增加成員函數(shù)的種類(lèi);9、關(guān)于new運(yùn)算符的下列描述中,()是錯(cuò)誤的。 A、它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組; B、使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除; C、使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值;10、關(guān)于delete運(yùn)算符的下列描述中,()是錯(cuò)誤的。 A、它必須用于new返回的指針; B、使用它刪除對(duì)象時(shí)要調(diào)用析構(gòu)函數(shù); C、對(duì)一個(gè)指針可以使用多次該運(yùn)算符;D、指針名前只有一對(duì)方括號(hào)符號(hào),不管所刪除數(shù)組的維數(shù)。11、const int *p說(shuō)明不能修改

18、()。 A、p指針; B、p指針指向的變量; C、p指針指向的數(shù)據(jù)類(lèi)型;D、上述A、B、C三者;12、已知:print()函數(shù)是一個(gè)類(lèi)的常成員函數(shù),它無(wú)返回值,下列表示中,()是正確的; A、void print() const; B、const void print(); C、void const print();D、void print(const);13、派生類(lèi)的對(duì)象對(duì)它的基類(lèi)成員中()是可以訪問(wèn)的。 A、公有繼承的公有成員; B、公有繼承的私有成員; C、公有繼承的保護(hù)成員;D、私有繼承的公有成員

19、;14、設(shè)置虛基類(lèi)的目的是()。 A、簡(jiǎn)化程序; B、消除二義性; C、提高運(yùn)行效率;D、減少目標(biāo)代碼;15、下列描述中,正確的是() A、虛函數(shù)是一個(gè)static 類(lèi)型的成員函數(shù); B、虛函數(shù)是一個(gè)非成員函數(shù); C、抽象類(lèi)是指具有純虛函數(shù)的類(lèi);D、抽象類(lèi)可以說(shuō)明其對(duì)象;二、判斷下列描述的正確性,正確填T,錯(cuò)誤填F。1、C+中標(biāo)識(shí)符內(nèi)的大小寫(xiě)字母是沒(méi)有區(qū)別的。()2、C+是一種以編譯方式實(shí)現(xiàn)的高級(jí)語(yǔ)言。()3、計(jì)算函數(shù)參數(shù)順序引起的二義性是由不同的編譯系統(tǒng)決定的。()4、返回值類(lèi)型、參數(shù)個(gè)數(shù)和類(lèi)型都相同的函數(shù)也可以重載。()5、使用關(guān)鍵字cla

20、ss定義的類(lèi)中缺省的訪問(wèn)權(quán)限是私有(private)的。()6、類(lèi)的私有成員只能被類(lèi)中的成員函數(shù)訪問(wèn),任何類(lèi)以外的函數(shù)對(duì)它們的訪問(wèn)都是非法的。()7、多繼承情況下,派生類(lèi)的構(gòu)造函數(shù)的執(zhí)行順序取決于成員初始化列表中的順序。()8、在公有繼承中,基類(lèi)中的公有成員和私有成員在派生類(lèi)中都是可見(jiàn)的。()9、在私有繼承中,基類(lèi)中所有成員對(duì)派生類(lèi)都是不可見(jiàn)的。()10、在保護(hù)繼承中,對(duì)于垂直訪問(wèn)等同于公有繼承,對(duì)于水平訪問(wèn)等同于私有繼承。()11、構(gòu)造函數(shù)可以聲明為虛函數(shù)。()12、在析構(gòu)函數(shù)中調(diào)用虛函數(shù)時(shí),采用動(dòng)態(tài)束定。()13、在一個(gè)成員函數(shù)內(nèi)調(diào)用一個(gè)虛函數(shù)時(shí),對(duì)該虛函數(shù)的調(diào)用進(jìn)行動(dòng)態(tài)束定。()14、公

21、有繼承可以實(shí)現(xiàn)子類(lèi)型。()15、構(gòu)造函數(shù)可以聲明為純虛函數(shù)。()三、分析下列程序的輸出結(jié)果。 1、#include <iostream.h>class Test;void fun1(Test t);Test fun2();class Testpublic:     Test(int n=1) val=n;   cout<<"Con."<<endl;       Test(const Test& t) val=t.val;

22、cout<<"Copy con."<<endl;     Test& operator = (Test& t)                  val=t.val;             cout<<"Assign

23、ment."<<endl;            return *this;     private:     int val;void main()     Test t1(1);     Test t2=t1;     Test t3;  &#

24、160;  t3=t1;     fun1(t2);     t3=fun2();void fun1(Test t)Test fun2()     Test t;     return t; 2、#include <iostream.h>class Apublic:     A()  cout<<"A's con."

25、<<endl;     A()cout<<"A's des."<<endl;  ;class Bpublic:     B()  cout<<"B's con."<<endl;     B()cout<<"B's des."<<endl;   ;class C:publi

26、c A,public Bpublic:     C():member(),B(),A()  cout<<"C's con."<<endl;     C()cout<<"C's des."<<endl;  private:     A member;void main()     C obj; 3、#inc

27、lude <iostream.h>    class Rpublic:              R(int r1,int r2) R1=r1;R2=r2;              void print();          

28、;    void print() const;private:              int R1,R2;void R:print()              cout<<R1<<":"<<R2<<endl;void R:print() const

29、60;             cout<<R1<<""<<R2<<endl;void main()          R a(5,4);              a.print();   

30、           const R b(20,52);              b.print();4、#include <iostream.h>class A public:virtual void act1();void act2() act1();    void A:act1()    

31、0;      cout<<"A:act1() called. "<<endl;        class B : public A     public:    void act1();    ;    void B:act1()        

32、;   cout<<"B:act1() called. "<<endl;        void main()           B b;       b.act2();模擬試題二一、填空題(每空1分,共20分)。1、對(duì)象是和的封裝體。2、定義重載函數(shù)時(shí),要從和上進(jìn)行區(qū)分。3、類(lèi)定義中,缺省的成員是成員。4、當(dāng)一個(gè)成員函數(shù)

33、被調(diào)用時(shí),該成員函數(shù)的指向調(diào)用它的對(duì)象。5、設(shè)置虛基類(lèi)的目的是,虛基類(lèi)子對(duì)象的初始化由完成。6、對(duì)虛函數(shù)使用基類(lèi)類(lèi)型的指針或引用調(diào)用,系統(tǒng)使用聯(lián)編;使用對(duì)象調(diào)用時(shí),系統(tǒng)使用聯(lián)編。7、一元運(yùn)算符作為類(lèi)成員函數(shù)重載時(shí)形參;二元運(yùn)算符作為重載時(shí)需聲明其右操作數(shù)。8、帶有的類(lèi)稱為抽象類(lèi),它只能作為來(lái)使用。9、請(qǐng)?zhí)顚?xiě)下列表格(填寫(xiě)直接派生類(lèi)實(shí)例對(duì)基類(lèi)成員的可見(jiàn)性)。直接派生類(lèi)繼承方式基類(lèi)中成員類(lèi)型publicprivateprotectedpublicprivate不可見(jiàn)不可見(jiàn)不可見(jiàn)protected二、單項(xiàng)選擇題(每題2分,共20分)。1、下列描述中,()是不正確的。 A、面向?qū)ο蟪绦蛟O(shè)計(jì)可

34、重用性較好; B、對(duì)象之間通過(guò)消息進(jìn)行信息傳遞; C、多態(tài)性體現(xiàn)了行為共享; D、面向?qū)ο蠓椒ǖ暮诵氖抢^承;2、執(zhí)行下列語(yǔ)句后的輸出結(jié)果是()。int hot=100;int &rad=hot;hot+=100;cout<<rad<<endl; A、0; B、100; C、200; D、300;3、在C+中,關(guān)于下列函數(shù)參數(shù)的描述中,()是正確的。 A、C+語(yǔ)言中,實(shí)參是按照自左至右的順序求值的; B、若一個(gè)參數(shù)設(shè)置了默認(rèn)值,則其右邊的所有參數(shù)都具有默認(rèn)值; C、

35、函數(shù)參數(shù)的默認(rèn)值不允許是表達(dá)式; D、設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置;4、在()情況下適宜采用inline定義內(nèi)聯(lián)函數(shù)。 A、函數(shù)體含有循環(huán)語(yǔ)句; B、函數(shù)體含有遞歸語(yǔ)句; C、函數(shù)代碼小,頻繁調(diào)用; D、函數(shù)代碼多,不常調(diào)用;5、定義析構(gòu)函數(shù)時(shí),應(yīng)該注意()。 A、其函數(shù)名與類(lèi)名完全相同; B、函數(shù)返回類(lèi)型是void類(lèi)型; C、無(wú)形參,也不可重載; D、函數(shù)體中必須有delete語(yǔ)句;6、下列關(guān)于構(gòu)造函數(shù)的描述中,()是正確的。 A、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); B、構(gòu)造函數(shù)可以

36、被繼承; C、構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化; D、構(gòu)造函數(shù)可以說(shuō)明為虛函數(shù);7、友元的作用是()。 A、提高程序的運(yùn)用效率; B、加強(qiáng)類(lèi)的封裝性; C、實(shí)現(xiàn)數(shù)據(jù)的隱藏性; D、增加成員函數(shù)的種類(lèi);8、 int * const p說(shuō)明不能修改()。 A、p指針; B、p指針指向的變量; C、p指針指向的數(shù)據(jù)類(lèi)型;  D、上述A、B、C三者;9、關(guān)于堆運(yùn)算符的下列描述中,()是錯(cuò)誤的。 A、使用堆運(yùn)算符可以動(dòng)態(tài)建立或刪除對(duì)象; B、new運(yùn)算符創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù);&

37、#160;C、可以在使用new創(chuàng)建數(shù)組時(shí),為每個(gè)數(shù)組元素指定初始值; D、delete運(yùn)算符可以作用于空指針;10、關(guān)于繼承的描述中,()是正確的。A、派生類(lèi)是基類(lèi)的子集;B、析構(gòu)函數(shù)不能被繼承;C、子類(lèi)型關(guān)系是可逆的;D、派生類(lèi)是基類(lèi)的子類(lèi)型;三、改錯(cuò)題(程序的每一行前加上了行號(hào),可以通過(guò)說(shuō)明行號(hào)來(lái)指出錯(cuò)誤位置)(共20分)。1、指出下面程序中的錯(cuò)誤并改正。Line1:       class MyClassLine2:       Line3: 

38、60;     public:Line4:              MyClass(int i) member=i;Line5:              void SetMember(int m) member=m;Line6:        &

39、#160;     int GetMember() const return member;Line7:       private:Line8:              int member;Line9:       ;Line10:     void main()Line1

40、1:     Line12:            MyClass obj1;Line13:            MyClass obj2(3);Line14:            obj1.member=5;Line15:  

41、0;         MyClass.SetMember(10);Line16:     2、指出下面程序中的錯(cuò)誤,并說(shuō)明錯(cuò)誤原因。Line1:       class ALine2:       Line3:       public:Line4:     

42、         A() func();Line5:              virtual void func()=0;Line6:       ;3、指出下面程序中的錯(cuò)誤,說(shuō)明錯(cuò)誤原因并改正。Line1:       class TestLine2: &

43、#160;     Line3:       public:Line4:              Test(int i)Line5:              Line6:       &

44、#160;             ptr=new int(i);Line7:              Line8:              Test()Line9:      

45、;        Line10:                   delete ptr;Line11:            Line12:     private:Line13:    

46、;        int *ptr;Line14:     ;Line15:     void main()Line16:     Line17:            Test obj1(1);Line18:          

47、  Test obj2(obj1);Line19:     四、簡(jiǎn)答題(共30分)。 1、在下面給定的繼承結(jié)構(gòu)中,回答下列提出的問(wèn)題。class Onepublic:     int a;     void b();     void c(float);class Twopublic:     void b();     void c()

48、;private:     int a;class Three : public One,public Twopublic:     void b();void main()     Three obj;     obj.a=1;                 

49、60;           -S1     obj.b();                               -S2  

50、0;  obj.c(10);                           -S3(1)、什么是多繼承中的支配原則? (2)、主函數(shù)中對(duì)各條語(yǔ)句(S1, S2, S3)的訪問(wèn)是否具有二義性?為什么?2、寫(xiě)出下面程序的輸出結(jié)果。#include <iostream.h>int Div(int x,int y) &

51、#160;   if(y=0)            throw y;     return x/y;void main()     try                 cout<<"6/4="<&

52、lt;Div(6,4)<<endl;            cout<<"5/0="<<Div(5,0)<<endl;            cout<<"9/3="<<Div(9,3)<<endl;     

53、60;    catch(int)                 cout<<"Exception of dividing zero."<<endl;          cout<<"It is OK."<<endl; 3、寫(xiě)出下面程序的輸

54、出結(jié)果。#include <iostream.h>class Apublic:     A(char i) cout<<"A's cons."<<i<<endl;     A() cout<<"A's des."<<endl;class B : virtual public Apublic:     B(char i,char j) : A(i) c

55、out<<"B's cons."<<j<<endl;     B() cout<<"B's des."<<endl;private:     char b;class C : virtual public Apublic:     C(char i,char j) : A(i) cout<<"C's cons."<&

56、lt;j<<endl;     C() cout<<"C's des."<<endl;class D : public B,public Cpublic:     D(char i,char j,char k,char l,char m,char n)             : C(k,l), B(i,j),A(i),aa(m) &

57、#160;   cout<<"D's cons."<<n<<endl;     D() cout<<"D's des."<<endl;private:     A aa;void main()     D obj('a','b','c','d','e','

58、f');五、根據(jù)給定的程序執(zhí)行結(jié)果,將下列程序補(bǔ)充完整。(10分)。#include <iostream.h>class Basepublic:     Base(int i) b=i;     (1)protected:     int b;class Derive1:public Basepublic:     (2)     void Print()  

59、;               cout<<"Derive1's Print() called."<<endl;     ;class Derive2:public Base     (3);void fun(4)     obj->Print();void main() 

60、0;   (5)     fun(d1);     fun(d2);程序的執(zhí)行結(jié)果如下:Derive1's Print() called.Derive2's Print() called.模擬試題三一、填空題(每空1分,共20分)。1、所有的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,都支持三個(gè)共同的本質(zhì)特征、。2、為了解決程序中函數(shù)調(diào)用的效率問(wèn)題,引入了,定義時(shí)需在函數(shù)前面加上說(shuō)明;為了提高程序的運(yùn)行效率,引入了,定義時(shí)需在函數(shù)前面加上說(shuō)明。3、在類(lèi)的定義當(dāng)中,缺省的成員是成員。4、請(qǐng)?zhí)顚?xiě)下列表格(

61、填寫(xiě)派生類(lèi)中成員的類(lèi)型)。  派生類(lèi)繼承方式基類(lèi)中成員類(lèi)型publicprivateprotectedpublicprivate不可見(jiàn)不可見(jiàn)不可見(jiàn)protected5、利用成員函數(shù)對(duì)二元運(yùn)算符進(jìn)行重載時(shí),其左操作數(shù)為,右操作數(shù)為。6、設(shè)置虛基類(lèi)的目的是,可通過(guò)標(biāo)識(shí)虛基類(lèi)。7、動(dòng)態(tài)聯(lián)編是在的支持下實(shí)現(xiàn)的,它通過(guò)來(lái)調(diào)用該函數(shù)操作。二、選擇題(每題2分,共20分)。1、下列關(guān)于類(lèi)型轉(zhuǎn)換的描述中,()是錯(cuò)誤的。 A、在不同類(lèi)型操作數(shù)組成的表達(dá)式中,其表達(dá)式類(lèi)型一定是最高類(lèi)型double型; B、逗號(hào)表達(dá)式的類(lèi)型是最后一個(gè)表達(dá)式的類(lèi)型; C、賦值表達(dá)式的

62、類(lèi)型是左值的類(lèi)型; D、由低向高的類(lèi)型轉(zhuǎn)換是保值映射。2、()不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類(lèi)名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類(lèi)型說(shuō)明。3、在C+中,關(guān)于下列設(shè)置參數(shù)默認(rèn)值的描述中,()是正確的。 A、不允許設(shè)置參數(shù)的默認(rèn)值; B、設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置; C、設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的,再設(shè)置左邊的; D、設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置。4、關(guān)于new運(yùn)算符的下列描述中,()是錯(cuò)誤的。 A、它可以用

63、來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組; B、使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除; C、使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值。5、重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,()是錯(cuò)誤的。 A、參數(shù)個(gè)數(shù); B、參數(shù)的類(lèi)型; C、函數(shù)名字; D、函數(shù)的類(lèi)型。6、下列描述中,()是抽象類(lèi)的特性。 A、可以說(shuō)明虛函數(shù); B、可以進(jìn)行構(gòu)造函數(shù)重載; C、可以定義友元函數(shù); D、不能說(shuō)明其對(duì)象。7、()是析構(gòu)函數(shù)的特征。 A、一個(gè)類(lèi)中只能定義一個(gè)析構(gòu)函數(shù);

64、 B、析構(gòu)函數(shù)名與類(lèi)名不同; C、析構(gòu)函數(shù)的定義只能在類(lèi)體內(nèi); D、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù);8、關(guān)于delete運(yùn)算符的下列描述中,()是錯(cuò)誤的。 A、它必須用于new返回的指針; B、它也適用于空指針; C、對(duì)一個(gè)指針可以使用多次該運(yùn)算符; D、指針名前只有一對(duì)方括號(hào)符,不管所刪除數(shù)組的維數(shù)。9、const int *p說(shuō)明不能修改()。 A、p指針; B、p指針指向的變量; C、p指針指向的數(shù)據(jù)類(lèi)型; D、上述A、B、C三者。10、關(guān)于子類(lèi)型的描述中,()是錯(cuò)誤的。A、子類(lèi)型

65、就是指派生類(lèi)是基類(lèi)的子類(lèi)型;B、一種類(lèi)型當(dāng)它至少提供了另一種類(lèi)型的行為,則這種類(lèi)型是另一種類(lèi)型的子類(lèi)型;C、在公有繼承下,派生類(lèi)是基類(lèi)的子類(lèi)型;D、子類(lèi)型關(guān)系是不可逆的。三、改錯(cuò)題(共15分)。1、找出下面程序中的錯(cuò)誤,并說(shuō)明原因。class Xpublic:     int readme() const return m;     void writeme(int i) m=i;private:     int m;void f(X& x1,const X&

66、 x2)     x1.readme();     x1.writeme(1);     x2.readme();     x2.writeme(2);2、找出下面程序中的錯(cuò)誤,并改正。#include <iostream.h>class TV     void SetStation(int Station);     int GetStatio

67、n();private:     int itsStation;void main()     TV myTV;     myTV.itsStation=9;     TV.SetStation(10);     TV myOtherTV(2);     cout<<myTV.GetStation();四、寫(xiě)出下列程序的輸出結(jié)果(每題10分,共2

68、0分)。 1、#include <iostream.h>class Test;void fun1(Test t);Test fun2();class Testpublic:     Test(int n=1) val=n;   cout<<"Con."<<endl;       Test(const Test& t) val=t.val; cout<<"Copy con."<<e

69、ndl;     Test& operator = (Test& t)                  val=t.val;             cout<<"Assignment."<<endl;   

70、         return *this;     private:     int val;void main()     Test t1(1);     Test t2=t1;     Test t3;     t3=t1;    

71、fun1(t2);     t3=fun2();void fun1(Test t)Test fun2()     Test t;     return t; 2、#include <iostream.h>class Apublic:     A()  cout<<"A's con."<<endl;     A()c

72、out<<"A's des."<<endl;  ;class Bpublic:     B()  cout<<"B's con."<<endl;     B()cout<<"B's des."<<endl;   ;class C:public A,public Bpublic:    

73、; C():member(),B(),A()  cout<<"C's con."<<endl;     C()cout<<"C's des."<<endl;  private:     A member;void main()     C obj;五、將下列程序補(bǔ)充完整(共15分)。1、輸出所有pumpkin的總重量。#include <iostr

74、eam.h>class pumkinpublic:     (1)                 weight=w;            total_weight+;          pumkin()

75、0;                (2)          static void total_display()                 cout<<"Total weight is "

76、<<total_weight<<" pounds."<<endl;     private:     int weight;     static int total_weight;(3)void main()     pumpkin p1(15),p2(20),p3(12);     (4)2、華氏溫度轉(zhuǎn)換為攝氏溫度的公式為:C=(F-32

77、)/1.8。#include <iostream.h>class convertpublic:     convert(double i) val1=i;     (1)protected:     double val1;     double val2;/liters to gallonsclass l_to_gpublic:     (2)   &#

78、160; void compute()                 val2=val1/3.7854;            cout<<val1<<" liters is "<<val2<<" gallons."<<endl;

79、0;    ;/Fahrenheit to Celsiusclass f_to_c:public convert     (3);void fun(4)     pute();void main()     l_to_g lgobj(4);     f_to_c fcobj(70);     fun(lgobj);     fu

80、n(fcobj);六、定義一個(gè)表示三維空間坐標(biāo)點(diǎn)的類(lèi),并對(duì)下列運(yùn)算符重載。(10分) 1、<<:按 (x,y,z) 格式輸出該點(diǎn)坐標(biāo)(坐標(biāo)為整型); 2、 > :如果A點(diǎn)到原點(diǎn)的距離大于B點(diǎn)到原點(diǎn)的距離,則A>B為真,否則為假。模擬試題一一、選擇題。1D                   2C      

81、0;          3B                  4D                 5D6A      

82、;             7C                 8A                 9D    &#

83、160;            10C11B                  12A                 13A   

84、;              14B                  15C二、判斷下列描述的正確性,正確填T,錯(cuò)誤填F。1F              &#

85、160;     2T                  3T                  4F          

86、;        5T6F                    7F                  8F     

87、             9F                  10T11F                  12F 

88、0;                13T                  14T                &#

89、160; 15F三、分析下列程序的輸出結(jié)果。1Con.Copy con.Con.Assignment.Copy con.Con.Copy con.Assignment.2A's con.B's con.A's con.C's con.C's des.A's des.B's des.A's des.35:420;524B:act1() called.模擬試題二一、填空題。1、狀態(tài)、操作方法2、參數(shù)個(gè)數(shù)、參數(shù)類(lèi)型3、私有private4、this指針5、解決二義性問(wèn)題,最派生類(lèi)6、動(dòng)態(tài)、靜態(tài)7、無(wú)不需要、類(lèi)成員函數(shù)8、純虛函數(shù)、基類(lèi)9、可見(jiàn)            不可見(jiàn)         不可見(jiàn)不可見(jiàn)        不可見(jiàn) 

溫馨提示

  • 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)論