题目描述
用习惯了的运算符操作新定义的类对象,这是OO方法给我们带来的便利。下面要为的五元向量(每个向量有5个元素)装备加法、数乘和输入输出的运算功能,请在begin至end部分,写上需要的代码并提交。
#include <iostream>
using namespace std;
const int N=5; //向量中存储的数据个数,这里确定为5元向量
class MyVector
{
public:
MyVector(){}; //构造函数
MyVector(const MyVector &v); //复制构造函数
friend istream &operator>>(istream &input, MyVector &d); //输入向量
friend ostream &operator<<(ostream &output, const MyVector &d); //输出向量
MyVector operator+(const MyVector &d); //向量相加,当前对象与d对应位置上的元素相加
MyVector operator*(int n); //向量数乘,当前对象的每个元素与n相乘
private:
int data[N]; //在data数组中存储数据
};
MyVector::MyVector(const MyVector &d)
{
for(int i=0; i<N; ++i)
data[i]=d.data[i];
}
//**********begin*****************
//**********end*****************
int main()
{
MyVector d1,d2;
int n;
cin>>d1;
cin>>d2;
cin>>n;
cout<<"+: "<<d1+d2<<endl;
cout<<"*: "<<d1*n<<endl;
return 0;
}
输入
第一个五元向量,五个数之间用空格隔开
第二个五元向量,五个数之间用空格隔开
一个整数
输出
两个五元向量的和: 格式:前后加括号,两数之间用加逗号和一个空格
第一个五元向量与整数的数乘结果,格式同前
(运算规则:和运算为向量对应位置元素相加,数乘运算为各元素分别乘以给定的数。)
样例输入
1 25 41 16 98
5 67 9 55 121
3
样例输出
+: (6, 92, 50, 71, 219)
*: (3, 75, 123, 48, 294)
参考代码
暂无
解析
暂无