糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

計算機二級考試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關鍵字。