4003:重载提取运算符
Problem Description
类MyVector代码已经基本写好了,要求重载运算符>>,实现直接给MyVector对象赋值,同时完成MyVector中部分未实现的代码。
class MyVector
{
public:
void show()
{
//补充代码,输出v[5]中的元素
}
//补充代码,重载运算符>>
private:
int v[5];
};
int main()
{
MyVector v;
while(cin>>v)
v.show();
}
Input
输入多行数据,每一行中有五个int型数据。
Output
每一组输入数据对应一行输出数据。每个数据之后有一个空格。参见输出样例。
Sample Input
5 4 3 2 1
-1 0 7 8 0
5 5 9 1 2
Sample Output
5 4 3 2 1
-1 0 7 8 0
5 5 9 1 2
心得
送分题,主要考察运算符重载的简单应用。
答案
#include <iostream>
#include <string>
using namespace std;
class MyVector
{
public:
void show()
{
for(int i=0; i<5; i++)
cout<<v[i]<<" ";
cout<<endl;
//补充代码,输出v[5]中的元素
}
friend istream&operator>>(istream&in,MyVector &temp);
//补充代码,重载运算符>>
private:
int v[5];
};
istream&operator>>(istream&in,MyVector &temp)
{
for(int i=0; i<5; i++)
in>>temp.v[i];
return in;
}
int main()
{
MyVector v;
while(cin>>v)
v.show();
return 0;
}