當前位置:才華齋>計算機>計算機二級>

2017年9月計算機二級考試C++上機操作題

計算機二級 閱讀(9.73K)

計算機二級考試C++是有一定難度的考試,這就要求大家在平時要多做練習。下面小編為大家整理了2017年9月計算機二級考試C++上機操作題,希望能幫到大家!

2017年9月計算機二級考試C++上機操作題

基本操作題

1[簡答題]

請使用VC6或使用【答題】選單開啟考生資料夾proj1下的工程proj1,此工程中含有一個源程式檔案。其中位於每個註釋“// ERROR **********found **********”之後的一行語句存在錯誤。請改正這些錯誤,使程式的輸出結果為:

NUM=0

Value=1

注意:只修改註釋“// ERROR ****found ****”的下一行語句,不要改動程式中的其他內容。

參考解析:【參考答案】 (1)MyClass(int i=0):NUM(0){

(2)void Increment(MyClass&f){f._i++;}

(3)Increment(obj);

【考點分析】

本題考查的是MyClass類,其中涉及友元函式、建構函式、常量資料成員、成員函式和友元函式的呼叫。友元函式的定義要與函式宣告相呼應,即返回值、引數型別、引數個數要一致。友元函式的呼叫不需要使用類名和作用域。

【解題思路】

(1)主要考查考生對常量資料成員初始化方法的掌握,常量資料成員的初始化只能通過建構函式的成員初始化列表進行,並且要使用關鍵字const修飾。該題的前一條語句const int NUM;,說明NUM是常量資料成員。

(2)主要考查考生對友元函式的掌握,友元函式的定義與宣告要一致,先看該友元函式的宣告部分:friend void Increment(MyClass& f);,返回型別為void,函式引數為MyClass& f;再比較出錯的語句:void Increment(){f._i++;},錯誤在於該函式沒有引數,應把MyClass & f填在括號內。

(3)主要考查友元函式的呼叫,友元函式並不屬於類,因此呼叫友元函式時不需要新增類名及作用域,只需要像呼叫普通函式一樣即可。

【解題寶典】

類的常量資料成員初始化必須使用成員初始化列表進行,否則必然出錯。友元函式與普通函式的區別在於,友元函式可以通過物件名呼叫類的全部成員,包括私有成員。所有函式的宣告和定義必須一致,包括函式返回值、引數型別、引數個數及有無const關鍵字。