问答题
请使用VC6或使用[答题]菜单打开考生目录proj3下的工程文件proj3,此工程包含一个源程序文件proj3.cpp,其中定义了用于表示二维向量的类MyVector;程序应当显示(6,8)。但程序中有缺失部分,请按照以下提示,把缺失部分补充完整:
(1)在“//**1** ****found****”的下方是构造函数的定义,它用参数提供的坐标对x和y进行初始化。
(2)在“//**2** ****found****”的下方是减法运算符函数定义中的一条语句。两个二维向量相减生成另一个二维向量:其X坐标等于两向量X坐标之差,其Y坐标等于两向量Y坐标之差。
(3)在“//**3** ****found****”的下方,语句的功能是使变量v3获得新值,它等于向量v1与向量v2之和。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“****found****”。
//proj3.cpp
#include<iostream>
using std::ostream;
using std::cout;
using std::endl;
class MyVector{ //表示二维向量的类
double x; //X坐标值
double y; //Y坐标值
public:
MyVector (double i=0.0,double j=0.0); //构造函数
MyVector operator+(MyVector j);
//重载运算符+
friend MyVector operator-(MyVector i,MyVector j); //重载运算符-
friend ostream& operator << (ostream& os,MyVector v); //重载运算符<<
};
//**1** **********found**********
______(double i,double j):x (i),y(j){}
MyVector MyVector::operator+(MyVector j) {
return MyVector(x+j.x,y+j y);
}
MyVector operator~(MyVector i,MyVector j)
{//**2** **********found**********
return MyVector (______);
}
ostream& operator << (ostream& os,MyVector v) {
//输出向量v的坐标
return os;
}
int main ()
{
MyVector v1(2,3),v2(4,5),v3;
//**3** **********found**********
v3______;
cout<<v3<<endl;
return 0;
}