问答题 请使用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)主要考查考生对成员函数调用的掌握,调用成员函数时应使用标识符“.”。