第 1 頁:選擇題 |
第 3 頁:基本操作題 |
第 4 頁:簡單應用題 |
二、基本操作題(共18分)
41 [簡答題]
請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,該工程中包含程序文件main.cpp,其中有類Door(“門”)和主函數main的定義。程序中位于每個“// ERROR **** found ****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結果應為:
打開503號門…門是鎖著的,打不開。
打開503號門的鎖…鎖開了。
打開503號門…門打開了。
打開503號門…門是開著的,無須再開門。
鎖上503號門…先關門…門鎖上了。
注意:只修改每個“// ERROR ********* found *********”下的那一行,不要改動程序中的其他內容。
參考解析:
【參考答案】 (1)this- >num=hum;
(2)if(!closed)
(3)void lock(){
【考點分析】
本題考查Door類,其中涉及bool型私有成員及成員函數、構造函數和其他成員函數。在構造函數中this指針指向的是當前類,因此當參數名與要賦值的成員名稱一樣時,使用this指針來區別。
【解題思路】
(1)主要考查考生對this指針的掌握,在構造函數中this指針指向的是當前類,因此要給num賦值使用語句this- >num=num;完成。
(2)主要考查考生對if語句的掌握,先看類的私有成員中關于closed的定義:bool closed;//true表示門關著。再看下一條語句:cout <<”門是開著的,無須再開門。”;。即滿足條件時就會輸出:門是開著的,無須再開門。因此if括號內應該是!closed。
(3)主要考查考生對const函數的掌握,lock函數體中存在語句locked=true,即有參數發生改變,因此不能用const。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: