问题 填空题

使用VC6打开考生文件夹下的工程test18_1,此工程包含一个源程序文件test18_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: Enter x and y: -4 -5 xoffset=1 yoffset=1 angle=45 radius=1.41421 源程序文件test18_1.cpp 清单如下: #include <iostream.h> #include <math.h> class point { public: void set(double ix,double iy) { x=ix; y=iy; } double xoffset() { return x; } double yoffset() { return y; } double angle ( ) {return (180/3.14159)*atan2(y,x); } /**************** found *******************/ inline radius ( ) {return sqrt(x*x+y*y); } protected: double x; double y; }; void main() { point p; double x,y; cout<<"Enter x and y:\n"; cin>>x>>y; p.set(x,y); /**************** found *******************/ p.x+=5; p.y+=6; /**************** found *******************/ cout<<"xoffset="<<p.xoffset()<<end1; cout<<"yoffset="<<p.yoffset()<<end1; cout<<"angle="<<p.angle()<<end1; cout<<"radius="<<p.radius()<<end1;

答案

参考答案:

解析:(1) 错误:inline radius() 正确:inline double radius()(2) 错误:p.x+=5; p.y+=6; 正确:p.set((p.xoffset()+5),(p.yoffset()+6));(3) 应在结尾处添加“}” (1)主要考查考生对于内联函数使用规则的掌握,虽然使用内联函数返回函数的值,但也要确定返回值的类型; (2)主要考查考生对于对象访问类的数据成员的权限的掌握,对象不能直接访问类的私有或保护成员,只能通过类的公有成员函数去访问; (3)主要考查考生对于主函数定义的掌握,该处缺少“}”,函数体的花括号一定是成对出现的。

单项选择题
单项选择题