計算機技術與軟件水平考試麵向對象程序設計試題(3)內容簡介
計算機技術與軟件水平考試麵向對象程序設計試題(3)
在每小題列出的四個備選項中隻有一個是符合題目要求的,請將其代碼填寫在題後的括號內。錯選、多選或未選均無分。
1. 下列特性中, C 與 C++ 共有的是 ( )
A. 繼承 B. 封裝
C. 多態性 D. 函數定義不能嵌套
2. 通常情況下,函數模板中的類型參數個數 不能 是 ( )
A.0 B.2
C.4 D.3
3. 在下列成對的表達式中,運算符 “ + ” 的意義 不相同 的一對是 ( )
A.5.0+2.0 和 5.0+2 B.5.0+2.0 和 5+2.0
C.5.0+2.0 和 5+2 D.5+2.0 和 5.0+2
4. 類的指針成員的初始化是通過函數完成的,這個函數通常是 ( )
A. 析構函數 B. 構造函數
C. 其它成員函數 D. 友元函數
5. 要禁止修改指針 p 本身,又要禁止修改 p 所指向的數據,這樣的指針應定義為 ( )
A.const char *p= “ ABCD ” ; B.char const *p= “ ABCD ” ;
C.char *const p= “ ABCD ” ; D.const char * const p= “ ABCD ” ;
6. 靜態成員函數 沒有 ( )
A. 返回值 B.this 指針
C. 指針參數 D. 返回類型
7. 當一個類的某個函數被說明為 virtual 時,該函數在該類的所有派生類中 ( )
A. 都是虛函數
B. 隻有被重新說明時才是虛函數
C. 隻有被重新說明為 virtual 時才是虛函數
D. 都不是虛函數
8. 下麵敘述 不正確 的是 ( )
A. 派生類一般都用公有派生
B. 對基類成員的訪問必須是無二義性的
C. 賦值兼容規則也適用於多重繼承的組合
D. 基類的公有成員在派生類中仍然是公有的
9. 在 C++ 中實現封裝是借助於 ( )
A. 枚舉 B. 類
C. 數組 D. 函數
10. 所有在函數中定義的變量,都是 ( )
A. 全局變量 B. 局部變量
C. 靜態變量 D. 寄存器變量
二、填空題 ( 本大題共 10 小題,每小題 2 分,共 20 分 )
不寫解答過程,將正確的答案寫在每小題的空格內。錯填或不填均無分。
11. 設函數 max 是由函數模板實現的,並且 max(3.5,5) 和 max(10,5) 都是正確的函數調用,則該模板具有 ______ 個類型參數。
12. 在單繼承和多繼承方式中,麵向對象的程序設計應盡量使用 ______ 繼承。
13. 語句序列
ifstrEAMdatafile ;
datafile.open( “ data.dat ” ) ;
的功能可用一個語句實現,這個語句是 ______ 。
14. 將關鍵字 const 寫在函數頭之後,函數體之前,說明該函數是一個 const 成員函數。此時 const 不是指定函數的返回值,而是修飾 ______ 指針。
15. 一個抽象類的派生類可以實例化的必要條件是實現了所有的 ______ 。
16. 在 C++ 中,虛函數幫助實現了類的 ______ 性。
17. 通過 C++ 語言中類的 ______ ,可以擴充和完善已有類以適應新的需求。
18. 為了在對象生存期結束時釋放其指針成員所指向的動態存儲空間,通常需要為該類定義 ______ 。
19. 在聯合中,所有數據成員具有 ______ 的地址,任一時刻隻有 ______ 個數據成員有效。
20. 在已經定義了整型指針 ip 後,為了得到一個包括 10 個整數的數組並由 ip 所指向,應使用語句 ______ 。
三、改錯題 ( 本大題共 5 小題,每小題 2 分,共 10 分 )
21. 下麵的類定義有一處錯誤,請用下橫線標出錯誤所在行並改正錯誤。
class A{
int a;
public;
A(int aa):a=aa{ }
};
22. 下麵的程序先把字符串 “ Look out! ” 輸出到一個文件中,然後再從該文
..............................
下一篇:1999年度程序員上午試卷含答案
計算機技術與軟件水平考試麵向對象程序設計試題(3)簡介結束,下載後閱讀全部內容