一、改錯題
使用VC6打開(kāi)考生文件夾下的工程kt9_1,此工程包含一個(gè)源程序文件kt9_1.cpp,但該程序運行有問(wèn)題,請改正程序中的錯誤,使程序的輸出結果如下:
4,5
20
源程序文件清單如下:
#include<iostream.h>
classA
{ protected:
intn,m;
public:
voidset(inta,intb){m=a;n=b;}
voidshow(){cout<<m<<","<<n<<endl;}
/**********found**********/ }
classB:publicA
{ ints;
public:
voidset(){s=m*n;}
voidshows(){cout<<s<<endl;} };
voidmain()
{
Bb;
/**********found**********/
b.set();
b.show();
b.set();
/**********found**********/
b.show();
}
【參考答案】
?。?)在“}”后添加分號
?。?)將b.set();改為:b.A::set(4,5);
?。?)將b.show();改為:b.shows();
【試題解析】
?。?)主要考查對類(lèi)定義格式的掌握,類(lèi)的結尾應該使用";";
?。?)主要考查對基類(lèi)與派生類(lèi)函數調用關(guān)系的掌握,根據所要求的輸出結果,應該調用的函數為類(lèi)A的set,而不是類(lèi)B自身的set函數,應該避免調用的二義性;
?。?)主要考查對繼承與派生的理解,由所要求輸出結果可知正確:b.shows()。
聯(lián)系客服