C++復習習題(有答案)_第1頁
C++復習習題(有答案)_第2頁
C++復習習題(有答案)_第3頁
C++復習習題(有答案)_第4頁
C++復習習題(有答案)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、一、選擇題(1)下面關于類和對象的描述中,錯誤的是A)類就是C語言中的結構體類型,對象就是C語言中的結構體變量B)類和對象之間的關系是抽象和具體的關系C)對象是類的實例,一個對象必須屬于一個已知的類D)類是具有共同行為的若干對象的統(tǒng)一描述體(2)以下各選項組中,均是C+語言關鍵字的組是A) public operator this B)shod string staticC)it while > D)private cout printf(3)在C+語言中,數(shù)據(jù)封裝要解決的問題是A)數(shù)據(jù)的規(guī)范化B)便于數(shù)據(jù)轉(zhuǎn)換C)避免數(shù)據(jù)丟失 D)防止不同模塊之間數(shù)據(jù)的非法訪問(4)以下程序中,錯誤的行

2、是 #include<iostream. h> class A public: int n2: A( int val)cout<<val<<endl; A(); ; void main() A a(0); A) B) C) D) (5)對類的構造函數(shù)和析構函數(shù)描述正確的是A)構造函數(shù)可以重載,析構函數(shù)不能重載B)構造函數(shù)不能重載,析構函數(shù)可以重載C)構造函數(shù)可以重載,析構函數(shù)也可以重載D)構造函數(shù)不能重載,析構函數(shù)也不能重載 (6)下面程序的運行結果為 #include(iostream. h> class A int num; public: A(i

3、nt i)num=i; A(A &a)numa. num+; void print()cout<<num; ; void main() A a(1),b(a); a. print(); ();A)11 B)12 C)21 D)22 (7)下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是A)靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù) B)類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員C)類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值 D)靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用(8)如果類A被說明成類B的友元,則A)類A的成員即類B的成員 B)類B的成員即類A的成員C)類A的成員函數(shù)不得訪問類B的成員 D)類B不一定是類A的

4、友元(9)可以用的形式訪問派生類對象P的基類成員a,其中a是A)私有繼承的公有成員 B)公有繼承的私有成員C)公有繼承的保護成員 D)公有繼承的公有成員(10)建立派生類對象時,3種構造函數(shù)分別是a(基類的構造函數(shù))、b(成員對象的構造函數(shù))、c(派生類的構造函數(shù))這3種構造函數(shù)的調(diào)用順序為A)abc B)acb C)cab D)cba(11)下面關于虛函數(shù)的描述,錯誤的是A)在成員函數(shù)聲明的前面加上virtual修飾,就可把該函數(shù)聲明為虛函數(shù)B)基類中說明了虛函數(shù)后,派生類中對應的函數(shù)也必須說明為虛函數(shù)C)虛函數(shù)可以是另一個類的友元函數(shù),但不能是靜態(tài)成員函數(shù)D)基類中說明的純虛函數(shù)在其任何派

5、生類中都必須實現(xiàn) (12)下面關于模板的描述,錯誤的是A)函數(shù)模板和類模板的參數(shù)可以是任意的數(shù)據(jù)類型B)類模板不能直接使用,必須先實例化為相應的模板類然后定義了模板類的對象后才能使用C)函數(shù)模板不能直接使用,需要實例化為模板函數(shù)后才能使用D)類模板的成員函數(shù)都是模板函數(shù)(13)語句ofstream f(”SALARY. DAT",ios:app iios:binary);的功能是建立流對象f,試圖打開文件SALARY. D AT并與之連接,并且A)若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件B)若文件存在,將其置為空文件;若文件不存在,打開失敗C)若文件存在,將

6、文件寫指針定位于文件首;若文件不存在,建立一個新文件D)若文件存在,打開失敗;若文件不存在,建立一個新文件(14)下面程序的運行結果是 #include<iostream. h> void main() int num=1; int &ref=num; refref+2; cout<<num; num=num+3; cout<<ref<<endl; A)13 B)16 C)36 D)33(15) 假定AB為一個類,則該類的拷貝構造函數(shù)的聲明語句為 。 A AB &(AB x) B. AB(AB x) C AB(AB &)

7、D. AB(AB * x)(16)對于結構中定義的成員,其隱含訪問權限為 。 A public B. protected C private D. static(17)當使用fstream流類定義一個流對象并打開一個磁盤文件時,文件的隱含打開方式為 。 A ios:in B. ios:out C ios:int | ios:out D. 沒有(18)下列關于C+語言類的描述中錯誤的是 A)類用于描述事物的屬性和對事物的操作 B)類與類之間通過封裝而具有明確的獨立性 C)類與類之間必須是平等的關系,而不能組成層次結構 D)類與類之間可以通過一些方法進行通信和聯(lián)絡(19)下列描述中哪個是正確的。

8、A)私有派生的子類無法訪問父類的成員 B)類A的私有派生子類的派生類C無法初始化其祖先類A對象的屬性,因為類A的成員對類C是不可訪問的 C)私有派生類不能作為基類派生子類 D)私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員 (20)下列關于構造函數(shù)說法不正確的是 A)構造函數(shù)必須與類同名 B)構造函數(shù)可以省略不寫 C)構造函數(shù)必須有返回值 D)在構造函數(shù)中可以對類中的成員進行初始化(21)如果友元函數(shù)重載一個運算符時,其參數(shù)表中沒有任何參數(shù)則說明該運算符是 A)一元運算符 B)二元運算符 C)選項A)和選項B)都可能 D)重載錯誤 (22)在重載一個運算符時,如果其參數(shù)表中有一個參數(shù),則說明該

9、運算符是 A)一元成員運算符 B)二元成員運算符 C)一元友元運算符 D)選項B)和選項C)都可能 (23)下列關于模板的說法正確的是 A)模板的實參在任何時候都可以省略 B)類模板與模板類所指的是同一概念 C)類模板的參數(shù)必須是虛擬類型的 D)類模板中的成員函數(shù)全部都是模板函數(shù)(24)表示在輸出時顯示小數(shù)位,和在文件輸入時判斷文件尾的函數(shù)分別是 A) showbase()和eof() B)showpoint()和eof() C)showpoint()和bad() D)showpoint()和good() (25)一個類的友元函數(shù)能夠訪問該類的 A)私有成員 B)保護成員 C)公有成員 D)所

10、有成員 (26)C+語言對C語言做了很多改進,C+語言相對于C語言的最根本的變化是A)增加了一些新的運算符B)允許函數(shù)重載,并允許設置缺省參數(shù)C)規(guī)定函數(shù)說明符必須用原型D)引進了類和對象的概念(27)對類成員訪問權限的控制,是通過設置成員的訪問控制屬性實現(xiàn)的,下列不是訪問控制屬性的是A)公有類型 B)私有類型 C)保護類型 D)友元類型(28)在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是A)友元函數(shù) B)虛函數(shù) C)構造函數(shù) D)析構函數(shù)(29)類的析構函數(shù)的作用是A)一般成員函數(shù)的初始化 B)類的初始化C)對象的初始化 D)刪除類創(chuàng)建的對象(

11、30)下列說法正確的是A)內(nèi)聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方B)內(nèi)聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調(diào)用該函數(shù)的地方C)類的內(nèi)聯(lián)函數(shù)必須在類體內(nèi)定義D)類的內(nèi)聯(lián)函數(shù)必須在類體外通過加關鍵字inline定義(31)下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是A)靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進行初始化B)靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用C)靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D)靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用(32)下面對于友元函數(shù)描述正確的是A)友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義 B)友元函數(shù)是類的成員函數(shù)C)友元函數(shù)破壞了類的封裝性和隱藏性 D)友元函數(shù)不能訪問類的

12、私有成員(33)在公有派生情況下,有關派生類對象和基類對象的關系,下列敘述不正確的是A)派生類的對象可以賦給基類的對象 B)派生類的對象可以初始化基類的引用C)派生類的對象可以直接訪問基類中的成員 D)派生類的對象的地址可以賦給指向基類的指針(34)下面程序的運行結果為 #include<iostream. h> class A public: A()cout<<”1”; A()cout<<”2”; class B:public A public: B()cout<<”3”; B()cout<<”4”; void main() B b

13、; A)1234 B)1324 C)1342 D)3142(35)下列關于虛基類的描述,錯誤的是A)設置虛基類的目的是為了消除二義性B)虛基類的構造函數(shù)在非虛基類之后調(diào)用C)若同一層中包含多個虛基類,這些虛基類的構造函數(shù)按它們說明的次序調(diào)用D)若虛基類由非虛基類派生而來,則仍然先調(diào)用基類構造函數(shù),再調(diào)用派生類的構造函數(shù)(36)下列關于多態(tài)性的描述,錯誤的是A)C+語言的多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性B)編譯時的多態(tài)性可通過函數(shù)重載實現(xiàn)C)運行時的多態(tài)性可通過模板和虛函數(shù)實現(xiàn)D)實現(xiàn)運行時多態(tài)性的機制稱為動態(tài)綁定(37)下列運算符中,在C+語言中不能重載的是A)* B)>= C)

14、: D)/(38)定義靜態(tài)成員函數(shù)的主要目的是A)方便調(diào)用 B)有利于數(shù)據(jù)隱蔽 C)處理類的靜態(tài)成員變量 D)便于繼承 (39)設有以下類和對象的定義:class Apublic:int m;A k1, k2, *p1, *p2;則下面針對成員變量m的引用,錯誤的是A)k1m=1 B)k2一>m=2 C)pl一>m=3 D)(*p2)m=4(40)有關構造函數(shù)的說法中錯誤的是A)構造函數(shù)名字和類的名字一樣 B)構造函數(shù)在說明類變量時自動執(zhí)行C)構造函數(shù)無任何函數(shù)類型 D)構造函數(shù)有且只有一個(41)關于友元的描述中錯誤的是A)友元函數(shù)可以訪問該類的私有數(shù)據(jù)成員B)一個類的友元類中的

15、成員函數(shù)都是這個類的友元函數(shù)C)友元可以提高程序的運行效率D)類和類之間的友元關系可以繼承(42)在面向?qū)ο蠓椒ㄖ校瑢崿F(xiàn)信息隱蔽是通過對象的某一特性來實現(xiàn)的,這個特性是A)封裝 B)類 C)對象 D)繼承二、填空題(1)在面向?qū)ο蟮某绦蛟O計中,類描述的是具有相似性質(zhì)的一組 【1】 。(對象)(2) C+語句const char * const p="hello" , ,所定義的指針p和它所指的內(nèi)容都不能被 【2】 。(3) C+語言的參數(shù)傳遞機制包括傳值和傳地址兩種,如果調(diào)用函數(shù)時,需要改變實參或者返回多個值,應該采取 【3】 方式。(4)繼承的方式有公有繼承、私有繼承和

16、【4】 3種。(5)表達式operator+(x,y)還可以表示為 【5】 。(6)類模板的使用實際士:是將類模板實例化成一個具體的 【6】 。(7)在面向?qū)ο蠓椒ㄖ校愔g共享屬性和操作的機制稱為 【7】 。【繼承】(8)通過使用new和delete兩個運算符進行的分配為 【8】 存儲分配。(9)在C+語言中,訪問一個對象的成員所用的運算符是 【9】 ,訪問一個指針所指向的對象的成員所用的運算符是 【10】 。 (10) C+語言支持的兩種多態(tài)性分別是編譯時的多態(tài)性和 【11】 的多態(tài)性。(11)如果要把返回值為void的函數(shù)A聲明為類B的友元函數(shù),則應在類B的定義中加入的語句是 【12】

17、。(12)如果類B繼承了類A,則稱類A為類B的基類,類B稱為類A的 【13】 。(13)將x+y中的+運算符用友元函數(shù)重載應寫為 【14】 。(14)非成員函數(shù)應聲明為類的 【15】 函數(shù)才能訪問這個類的private成員。 (15)派生類中的成員不能直接訪問基類中的 【16】 成員。(16)派生類的成員一般分為兩部分,一部分是 【17】 ,另一部分是自己定義的新成員。(17)在面向?qū)ο蟮某绦蛟O計中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為【18】(18)假定要動態(tài)分配一個類型為Worker的具有n個元素的數(shù)組,并由r指向這個動態(tài)數(shù)組,則使用的語句是【19】。(19)將關鍵字const寫在函數(shù)頭之后,函數(shù)體之前,說明該函數(shù)是一個const成員函數(shù)。比時const不是指定函數(shù)的返回值,而是修飾【20】指針。(20)若要在程序文件中進行標準輸入輸出操作,則必須在開始

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論