程序設計與算法(三)期末考試之選擇題

1) 關於複製構造函數,下列說法正確的是

A. 系統不會生成缺省複製構造函數,因此必須自己實現

B. 複製構造函數是形如X::X(X)的函數

C.  Myclass c1, c2;  c1.n = 1;  c2 = c1;第三句將會調用複製構造函數

D. 調用函數A Func() {   A a(4);    return a;   }時,將會調用A的複製構造函數

正確答案:D

2)關於虛函數,下列說法不正確的是

A. 不允許以虛函數作爲構造函數

B. 沒有虛函數便無法實現多態

C. 一般來講,如果一個類中定義了虛函數,則不可將析構函數也定義爲虛函數

D. 不能用抽象類定義對象

正確答案:C

3) 關於 this 指針,以下說法不正確的是

A. static成員函數內部不可以使用this指針

B. 在構造函數內部可以使用this指針

C. 在析構函數內部可以使用 this 指針

D. const成員函數內部不可以使用this 指針 

正確答案:D

4) 以下關於多態的說法那個不正確?

A.  在成員函數中調用虛函數,是多態

B.  通過“基類對象名.函數名"的方式調用虛函數,不是多態

C.  多態的函數調用語句中,函數一定是虛函數

D.  通過“基類引用名.函數名"的方式調用虛函數,是多態

正確答案:A

5)  map的每個元素包括KEY(first)和VALUE(second)。關於map容器,下列哪種說法錯誤

A.  map支持下標運算符

B.  map的不同元素可以有相同的VALUE

C.  map支持STL的sort算法

D.  map支持雙向迭代器

正確答案:C

6)  下列說法錯誤的是

A.  可以在一個類的友元函數中使用this指針

B  每個類只有一個析構函數

C  抽象類至少包含一個純虛函數

D  構造函數不可以是virtual函數

正確答案:A

7) 關於繼承和派生的描述中,下列說法錯誤的是:

A. 派生類的成員函數中,不能訪問基類的private成員

B. 在派生類的析構函數執行之前,會先調用基類的析構函數

C. 派生類對象的地址可以賦值給基類指針

D. 派生類可以有和基類同名同參數的成員函數`

正確答案:B

8) 以下哪種使用std::sort算法的方式是不合法的:

A. vector<int> a; …; sort(a.begin(), a.end());

B. bool b[99]; …; sort(b, b + 99);

C. string c = “2333”; …; sort(c.begin(), c.end());

D. list<int> d; …; sort(d.begin(), d.end());

正確答案:D

9) 類A重載的運算符聲明是int operator<(A &other) const,那麼以下說法中正確的是:

A. 小於號左側的A對象不可以是const的

B. 小於號右側的A對象不可以是const的

C. 這個寫法是錯誤的,因爲小於號的返回類型必須是bool

D. 使用小於號的時候,other參數處,傳進來的對象實際上會被複制一次

正確答案:B

10) 以下STL中的函數模板哪個可以作用於set

A. sort

B. random_shuffle

C. find

D. 都不行

正確答案:C

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章