(考試)2017年大一下學期C++期末考試題目三
阿新 • • 發佈:2019-02-05
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;
}