问答题
请使用VC6或使用[答题]菜单打开考生文件夹proj1下的工程proj1,此工程中含有一个源程序文件proj1.cpp。其中每个注释“//ERROR ****found****”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:
The perimeter is 62.8
The area is 314
注意:只修改注释“//ERROR ****found****”的下一行语句,不要改动程序中的其他内容。
// proj1.cpp
#include <iostream>
using namespace std;
const double PI=3.14;
class Circle
{
public:
// ERROR ********** found**********
Circle(int r) { radius =r; }
void Display();
private:
const int radius;
};
//ERROR ********** found**********
void Display()
{
cout <<"The perimeter is" <<2* PI * radius << endl;
cout <<"The area is" <<PI* radius* radius <<endl;
}
int main()
{
Circle c(10);
//ERROR ********** found**********
c::Display();
return 0;
}
【正确答案】(1)Circle(int r):radius(r){}
(2)void Circle::Display()
(3)c.Display();
【答案解析】[考点] 本题考查Circle类,其中涉及构造函数、常变量私有成员和成员函数。
[解析] (1)主要考查考生对构造函数的掌握,常变量私有成员只能通过成员列表进行初始化。
(2)主要考查考生对成员函数的掌握,在定义类的成员函数时要加上类名和作用域符。
(3)主要考查考生对成员函数调用的掌握,调用成员函数时应使用标识符“.”。