使用VC6打开考生文件夹下的工程test18_1,此工程包含一个源程序文件(est18_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下: Enter x and y: -4 -5 xoffset=1 yof

admin2009-01-15  94

问题 使用VC6打开考生文件夹下的工程test18_1,此工程包含一个源程序文件(est18_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)主要考查考生对于主函数定义的掌握,该处缺少“}”,函数体的花括号一定是成对出现的。
转载请注明原文地址:https://kaotiyun.com/show/XOID777K
0

最新回复(0)