阅读以下说明和C++代码,将解答写入对应栏内。 【说明】 源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。

admin2009-02-15  22

问题 阅读以下说明和C++代码,将解答写入对应栏内。
   【说明】
   源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。
   1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为 0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。
   2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。
   3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义 double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。
   注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
   源程序文件vectorClass.cpp清单如下:
   #include < iostream. h >
   class vector
   {
       int a;
       int b;
   public:
        vector((1)):(2)  
       {
       }
       void input(int x, int y)
       {        (3)  
       }
       void output( )
       {
           cout<<’(’<<a<<’,’<<b<<")" <<endl;
       }
       friend double Multiply(vector &x,vector &y);
   };
   double Multiply(vector &x,vector &y)
   {
       double c;
         (4)  
       return c;
   }
   void main( )
   {
       vector x(10,20),y;
       double d;
       y. input(2,3)
       d=Multiply(x,y);
       cout<<d<<endl;
   }
程序输出结果是:(5)。

选项

答案(1)int x=0,int y=0 (2)a(x),b(y) (3)b=x;a=y (4)c=x.a*y.a+x.b*y.b (5)70

解析 注意参数默认值的书写方法。分别对a,b赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用“.”操作符。 x.a=10;y.a=3;x.b=20;y.b=2,所以c=70。
转载请注明原文地址:https://jikaoti.com/ti/prW7FFFM
0

最新回复(0)