1[簡答題]
請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1,此工程包含有一個源程序文件proj1.cpp。其中位于每個注釋“//ERROR **** found****”之后的一行語句存在錯誤。請改正這些錯誤,使程序的輸出結果為:
(4,4)
注意:只修改注釋“//ERROR ****found ****”的下一行語句,不要改動程序中的其他內容。
參考解析:【參考答案】 (1)Point(double x,double y):_x(x),_y(y){}或Point(double x,double y){_x=x;_y=y;}
(2)void Move(double xOff,double yOff)
(3)cout<<‘(‘<
【考點分析】
本題主要考查Point類,其中涉及構造函數、成員函數及成員函數的調用。構造函數的語法經常考查到,一般會考查形參的類型及名稱,本題考查的比較特別,是考查函數成員初始化列表的基本知識。
【解題思路】
(1)主要考查的是構造函數的成員初始化列表的語法,在成員列表之前必須加“:”。
(2)主要考查成員函數中const的使用,先看Move函數的函數體:{_x +=xOff;_y +=yOff;}可以看到Point類的兩個私有成員_x和_y的值都發生了變化,因此Move函數不能使用const,因為只有在函數內不改變類的成員的值時才能使用const。
(3)主要考查私有成員不能被類外函數調用的知識。題目要求輸出pt成員_x和_y的值,從Point類中的函數double GetX()const{return_x;}和double GetY()const{return_y;},可以分別得到_x和_y的值,因此這里使用語句cout<<‘(‘<
【解題寶典】
const用于限定變量的值不發生改變,涉及const函數時,就要先看函數體內部成員的值是否改變,如果改變了就會出現錯誤。當題目要求輸出類的私有成員的值時,首先頭腦中就要有一個概念:類外函數不能調用私有成員,只能通過成員函數調用。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: