1[簡答題]
請使用VC6或使用【答題】菜單打開考生文件夾proj1下的工程proj1。其中有線段類Line的定義。程序中位于每個“// ERROR **** found ****”之后的一行語句有錯誤,請加以改正。改正后程序的輸出結(jié)果應(yīng)該是:
End point 1=(1,8),End point 2=(5,2),length=7.2111。
注意:只修改每個“// ERROR **** found ****”下的那一行,不要改動程序中的其他內(nèi)容。
參考解析:【參考答案】 (1)Line(double x1,double y1,double x2,double y2){
(2)eout<<”),length=”<
(3)return sqrt((1.getX1l() -1.getX2())*(1.getX1()-1.getX2())+(1.getY1() -1.getY2()) * (1.getY1()-1.getY2()));
【考點分析】
本題考查Line類,其中涉及構(gòu)造函數(shù)、this指針和const函數(shù)。判斷一個函數(shù)是否為const函數(shù),就要觀察該函數(shù)體內(nèi)是否有變量值發(fā)生改變,若有變量值發(fā)生改變,則該函數(shù)不是const函數(shù)。一般構(gòu)造函數(shù)不能用const,因為要給私有成員賦初始值。類的私有成員不能被類外函數(shù)調(diào)用,只能通過成員函數(shù)調(diào)用。
【解題思路】
(1)主要考查考生對構(gòu)造函數(shù)的掌握,構(gòu)造函數(shù)要給私有成員賦初始值,因此不能使用const來限制。
(2)主要考查考生對this指針的掌握,由函數(shù)length的聲明double length(Line);可知,length函數(shù)的形參是Line類,在void show()eonst函數(shù)里,this指針指向的是當(dāng)前Line類,因此可以用* this表示當(dāng)前Line類。
(3)主要考查考生對成員函數(shù)的掌握,length函數(shù)是類外函數(shù),不能直接調(diào)用類的私有成員.因此要通過成員函數(shù)取得對應(yīng)的值。
【解題寶典】
this是指向自身對象的指針,它是一個指針類型,因此要使用標(biāo)識符“* ”來取出它所指向的值。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |