请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其中定义了用于表示二维向量的类MyVeetor;程序应当显示(6,8)。但程序中有缺失部分,请按照以下提示,把缺失部分补充完整: (1)在“//**1** *

admin2019-04-24  10

问题 请打开考生文件夹下的解决方案文件proj3,此工程包含一个源程序文件proj3.cpp,其中定义了用于表示二维向量的类MyVeetor;程序应当显示(6,8)。但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:
    (1)在“//**1**  ****found****”的下方是构造函数的定义,它用参数提供的坐标对戈和Y进行初始化。
    (2)在“//**2**  ****found****”的下方是减法运算符函数定义中的一条语句。两个二维向量相减生成另一个二维向量:其X坐标等于两向量X坐标之差,其Y坐标等于两向量Y坐标之差。
    (3)在“//**3**  ****found****”的下方,语句的功能是使变量v3获得新值,它等于向量v1与向量v2之和。
    注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。
    1  //proj3.cpp
    2  #include
    3  using std::ostream;
    4  using std::cout;
    5  using std::endl;
    6
    7  class MyVector{  //表示二维向量的类
    8  double X;  //X坐标值
    9  double Y;  //Y坐标值
    10  public:
    11    MyVector(double i=0.0, doub2e j=0.0);  //构造函数
    12    MyVector operator+(MyVector j);    //重载运算符 +
    13    friend MyVector operator -( MyVector i,MyVector j);  //重 载运算符 -
    14    friend ostream&operator<<( ostream&OS,Myvector v);  //重载运算符<<
    15  };
    16    //**1**  ******found******
    17  ___________(double i,double j):x(i),y(j){}
    18  MyVector MyVector::operator+{ MyVector j) {
    19   return MyVectot(x+j.x,y+j.y);
    20  }
    21  MyVector operator -(MyVector i,MyVector j)
    22    {//**2**  ******found******
    23  return MyVector(__________);
    24  }
    25
    26  ostream& operator<<( ostream&os,MyVector v){
    27    os  <<  ’(’<    28    return os;
    29    }
    30  int main()
    31  {
    32    MyVector v1(2,3),v2(4,5),v3;
    33    //**3**  ******found******
    34  v3=____________;
    35    cout<    36    return 0 ;
    37    }

选项

答案(1)MyVector::MyVector (2)i.x—j.x,i.y—j.y (3)v1+v2

解析 (1)主要考查的是构造函数,在类外定义构造函数时要使用类名和作用域,即MyVector::MyVector。
    (2)主要考查重载运算符“一”的返回语句,返回值应为向量i和j的差,即MyVector(i.x—j.x,i.y — j.y);。
    (3)主要考查重载运算符“+”的使用,由题目可知v3是v1和v2的和,前面我们已经重新定义了运算符“+”,所以在这里直接使用语句v3=v1+v2;即可。
转载请注明原文地址:https://kaotiyun.com/show/sOAp777K
0

最新回复(0)