使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。 (1)补充类vect

admin2009-01-15  33

问题 使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。
   (1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。
   (2)完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。
   (3)完成类vector的友元函数friend double Multiply (vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:
   (10,20)
   (2,  3)
   80
   注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
   源程序文件test19_3.cpp清单如下:
      #include <iostream.h>
      class vector
      {
        int a;
        int b;
      public:
        //**1**
        void input(int x, int y)
        {
              //**2**
        }
        void output ()
        {
          cout<<’(’<<a<<’,’<<b<<")"<<end1;
        }
          friend double Multiply(vector &x,vector &y);
        }
        double Multiply (vector &x,vector &y)
        {
          //**3**
        c=x.a*y.a+x.b*y.b;
          return c;
         }
        void main()
        {
          vector x(10,20),y;
          double d;
          y.input (2,3);
          d=Multiply (x,y);
          x. output ( );
          y. output ( );
          cout<<d<<end1;
        }

选项

答案(1) vector(int x=0,int y=0):a(x),b(y){} (2) a=x; b=y; (3) double c;

解析 本题主要考查考生对于类的定义和友元函数定义的理解,请注意(1)中的参数列表形式和(3)中对象访问成员使用“.”操作符。
转载请注明原文地址:https://kaotiyun.com/show/QKID777K
0

最新回复(0)