點擊查看:2017年9月計算機二級C++考試操作題高頻考卷匯總
1 [簡答題]
請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,此工程中含有一個源程序文件proj1.cpp。其中位于每個注釋“// ERROR **** found ****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結果為:
Constructor called.
The value is l0
Copy constructor called.
The value is l0
Destructor called.
Destructor called.
注意:只修改注釋“// ERROR **** found ****”的下一行語句,不要改動程序中的其他內容。
【參考答案】 (1)MyClass(int i=10)
(2)MyClass(const MyClass& p)
(3)~MyClass()
【考點分析】
本題考查MyClass類,其中涉及構造函數、復制構造函數、成員函數和析構函數。復制構造函數的參數一般都是引用調用,并且不能改變參數值,因此要在參數前加上const來限制。析構函數一般會考查delete語句,同時要注意析構函數的語法,即函數名前不能有任何類型。
【解題思路】
(1)考查構造函數參數默認值,題目要求輸出語句:The value is 10,從主函數中可以看出,obj1并沒有初始化,但是obj1調用Print()函數時它的值為10,由此可知構造函數的形參有默認值,且值為10,因此得出語句MyClass(int i=10)。
(2)主要考查考生對復制構造函數的掌握,復制構造函數的形參都為引用,同時為了不改變形參的值要加上eonst,因此得出語句MyClass(const MyClass & p)。
(3)主要考查考生對析構函數的掌握,析構函數和構造函數一樣,前面不能添加任何類型,要把void去掉。
【解題寶典】
主要考查考生對構造函數、復制構造函數和析構函數的掌握。特別要注意析構函數和構造函數一樣前面不能添加任何類型。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: