问答题 请使用VC6或使用[答题]菜单打开考生文件夹proj2下的工程proj2。其中在编辑窗口内显示的主程序文件中定义有类Point和Circle,以及主函数mmn。程序文本中位于每行“//****found****”之后的一行内有一处或多处下画线,请在下画线处填写合适的内容,并删除下画线。经修改后运行程序,得到的输出结果应为: Point:(0,0)3 Point:(4,5)6 28.2743 113.097 #include <iostream> using namespace std; class Point //定义坐标点类 { public: Point (int xx =0, int yy=0) {x=xx; y=yy;} void PrintP () {cout << "Point: (" <<x <<"," <<y<<")";} private: int x,y; //点的横坐标和纵坐标 }; class Circle //定义圆形类 { public: Circle():rr (0) {} //无参构造函数 Circle (Point& cen, double tad =0); //带参构造函数声明 double Area () {return rr* rr* 3.14159;} //返回圆形的面积 //PrintP函数定义,要求输出圆心坐标和半径 //************* ound************** void PrintP () {______; cout <<rr <<endl;} private: Point cc; //圆心坐标 double rr; //圆形半径 }; //带参构造函数的类外定义,要求由cen和rad分别初始化cc和rr //********** found********** Circle::______(Point& cen, double rad) //********** found********** ______{rr=rad; } int main() { Point x, y(4,5); Circle a(x,3), b(y,6); //输出两个圆的圆心坐标和半径 a. PrintP (); //********** found********** ______; cout<<a.Area () <<" <<b. Area() <<endl; return 0; }
【正确答案】(1)cc.PrintP() (2)Circle (3)cc(cen) (4)b.PrintP()
【答案解析】[考点] 本题考查Point类和Circle类,其中涉及构造函数和成员函数。 [解析] (1)主要考查考生对成员函数的掌握,cc是Point类,直接调用类的PrintP函数输出点坐标即可。 (2)主要考查考生对复制构造函数的掌握,复制构造函数的函数名就是类名。 (3)主要考查考生对复制构造函数的掌握,可以使用成员列表初始化。 (4)主要考查考生对成员函数调用的掌握,按题目要求输出b的信息。