C++選擇題--填空題-判斷題(共31頁)_第1頁
C++選擇題--填空題-判斷題(共31頁)_第2頁
C++選擇題--填空題-判斷題(共31頁)_第3頁
C++選擇題--填空題-判斷題(共31頁)_第4頁
C++選擇題--填空題-判斷題(共31頁)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、它刪除對象時(shí)要調(diào)用析構(gòu)函數(shù); C、對一個(gè)指針可以使用多次該運(yùn)算符; D、指針名前只有一對方括號(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+選擇題求助(覺得必對的,請另外選擇出來,作為參考)20分 標(biāo)簽: 回答:1   瀏覽:470   提問時(shí)間:2010-06-23 09:42一、單選題(共 20 道試題) V 1. 說明友元函數(shù)的關(guān)鍵字為() A. inline B. virtual C. friend

8、 D. define 2. 對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)算符重載是對已有的運(yùn)算符賦予多重含義,因此() A. 可以對基本類型(如int類型)的數(shù)據(jù),重新定義“+”運(yùn)算符的含義 B. 可以改變一個(gè)已有運(yùn)算符的優(yōu)先級和操作數(shù)個(gè)數(shù) C. 只能重載C+中已經(jīng)有的運(yùn)算

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

10、改變運(yùn)算符的優(yōu)先級 B. 能夠改變操作數(shù)的數(shù)目 C. 能夠重載內(nèi)嵌類型的運(yùn)算符的預(yù)定含義 D. 通過重載運(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+語言的有效標(biāo)識(shí)符。 A. No.1 B. 12345 C. _No1 D. int 11. private訪問屬性限制對象的成員可以在()中訪問。 A. 本類的成員函數(shù) B. main函數(shù) C. 父類的成員函數(shù) D

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

12、or+() 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)于抽象類的描述中,正確的是() A. 抽象類中最多只能有一個(gè)純虛函數(shù) B. 抽象類不能定義該類的指針 C. 抽象類不能定義該類的對象 D. 抽象類至少有一個(gè)虛函數(shù) 17. 以下()是不正確的強(qiáng)制類型轉(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; 在下列對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. 空類就是沒有()的類。 A. 類名 B. 任何成員 C. 數(shù)據(jù)成員 D. 成員函數(shù) 20. 下列關(guān)于類的描述中,錯(cuò)誤的說法是() A. 類是一組對象的模板 B. 類是數(shù)據(jù)和操作的封裝體 C. 類是對象的實(shí)例 D. 類是一種自定義的數(shù)據(jù)類型 共0條評論.學(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+對C語言作了很多改進(jìn),下列描述中()使得C語言發(fā)生了質(zhì)變,從面向過程變成了面向?qū)ο?。A、增加了一些新的運(yùn)算符;B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù);C、規(guī)定函數(shù)說明必須用原型;D、引進(jìn)了類和對象的概念;2、下列描述中,()是錯(cuò)誤的。A、內(nèi)聯(lián)函數(shù)主要解決程序的運(yùn)行效率問題;B、內(nèi)聯(lián)函數(shù)的定義必須出現(xiàn)在內(nèi)聯(lián)函數(shù)第一次被調(diào)用之前;C、內(nèi)聯(lián)函數(shù)中可以包括各種語句;D、對內(nèi)聯(lián)函數(shù)不可以進(jìn)行異常接口聲明;3、在C+中,關(guān)于下列設(shè)置缺省參數(shù)值的

15、描述中,()是正確的。A、不允許設(shè)置缺省參數(shù)值;B、在指定了缺省值的參數(shù)右邊,不能出現(xiàn)沒有指定缺省值的參數(shù);C、只能在函數(shù)的定義性聲明中指定參數(shù)的缺省值;D、設(shè)置缺省參數(shù)值時(shí),必須全部都設(shè)置;4、()不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類型說明。5、()是析構(gòu)函數(shù)的特征。 A、析構(gòu)函數(shù)可以有一個(gè)或多個(gè)參數(shù); B、析構(gòu)函數(shù)名與類名不同; C、析構(gòu)函數(shù)的定義只能在類體內(nèi); D、一個(gè)類中只能定義一個(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、說明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static; B、靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化; C、靜態(tài)數(shù)據(jù)成員不是所有對象所共用的; D、引用靜態(tài)數(shù)據(jù)成員時(shí),要在其名稱前加<類名>和作用域運(yùn)算符;8、友元的作用是()。 A、提高程序的運(yùn)用效率; B、加強(qiáng)類的封裝性; C、實(shí)現(xiàn)數(shù)據(jù)的隱藏性

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

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

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

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

21、公有繼承可以實(shí)現(xiàn)子類型。()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<<"Assig

23、nment."<<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:publ

26、ic 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、#in

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

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

29、160;             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、60;      cout<<"A:act1() called. "<<endl;        class B : public A     public:    void act1();    ;    void B:act1()       

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

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

34、可重用性較好; B、對象之間通過消息進(jìn)行信息傳遞; C、多態(tài)性體現(xiàn)了行為共享; D、面向?qū)ο蠓椒ǖ暮诵氖抢^承;2、執(zhí)行下列語句后的輸出結(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+語言中,實(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)語句; B、函數(shù)體含有遞歸語句; C、函數(shù)代碼小,頻繁調(diào)用; D、函數(shù)代碼多,不常調(diào)用;5、定義析構(gòu)函數(shù)時(shí),應(yīng)該注意()。 A、其函數(shù)名與類名完全相同; B、函數(shù)返回類型是void類型; C、無形參,也不可重載; D、函數(shù)體中必須有delete語句;6、下列關(guān)于構(gòu)造函數(shù)的描述中,()是正確的。 A、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); B、構(gòu)造函數(shù)可

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

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

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

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

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

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

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

43、      Line3:       public:Line4:              Test(int i)Line5:              Line6:      

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

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

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

47、;  Test obj2(obj1);Line19:     四、簡答題(共30分)。 1、在下面給定的繼承結(jié)構(gòu)中,回答下列提出的問題。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、160;           -S1     obj.b();                               -S2  

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

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

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

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

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)

55、cout<<"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、<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、    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、0;               cout<<"Derive1's Print() called."<<endl;     ;class Derive2:public Base     (3);void fun(4)     obj->Print();void main() 

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

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

62、的類型是左值的類型; D、由低向高的類型轉(zhuǎn)換是保值映射。2、()不是構(gòu)造函數(shù)的特征。 A、構(gòu)造函數(shù)的函數(shù)名與類名相同; B、構(gòu)造函數(shù)可以重載; C、構(gòu)造函數(shù)可以設(shè)置缺省參數(shù); D、構(gòu)造函數(shù)必須指定類型說明。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、用來動(dòng)態(tài)創(chuàng)建對象和對象數(shù)組; B、使用它創(chuàng)建的對象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除; C、使用它創(chuàng)建對象時(shí)要調(diào)用構(gòu)造函數(shù); D、使用它創(chuàng)建對象數(shù)組時(shí)必須指定初始值。5、重載函數(shù)在調(diào)用時(shí)選擇的依據(jù)中,()是錯(cuò)誤的。 A、參數(shù)個(gè)數(shù); B、參數(shù)的類型; C、函數(shù)名字; D、函數(shù)的類型。6、下列描述中,()是抽象類的特性。 A、可以說明虛函數(shù); B、可以進(jìn)行構(gòu)造函數(shù)重載; C、可以定義友元函數(shù); D、不能說明其對象。7、()是析構(gòu)函數(shù)的特征。 A、一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)

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

65、型就是指派生類是基類的子類型;B、一種類型當(dāng)它至少提供了另一種類型的行為,則這種類型是另一種類型的子類型;C、在公有繼承下,派生類是基類的子類型;D、子類型關(guān)系是不可逆的。三、改錯(cuò)題(共15分)。1、找出下面程序中的錯(cuò)誤,并說明原因。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 GetStati

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

68、20分)。 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."<<

69、endl;     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()

72、cout<<"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、0; 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 <iost

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

75、60;                (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-3

77、2)/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、60;    ;/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);     f

80、un(fcobj);六、定義一個(gè)表示三維空間坐標(biāo)點(diǎn)的類,并對下列運(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、60;          3B                  4D                 5D6A     

82、0;             7C                 8A                 9D    &

83、#160;            10C11B                  12A                 13A  

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

85、#160;     2T                  3T                  4F         

86、0;        5T6F                    7F                  8F     

87、;             9F                  10T11F                  12F 

88、60;                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ù)類型3、私有private4、this指針5、解決二義性問題,最派生類6、動(dòng)態(tài)、靜態(tài)7、無不需要、類成員函數(shù)8、純虛函數(shù)、基類

90、9、可見            不可見         不可見不可見        不可見         不可見二、選擇題。1、D            2、C     

溫馨提示

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

評論

0/150

提交評論