1. 程式人生 > >(考試)2017年大一下學期C++期末考試題目三

(考試)2017年大一下學期C++期末考試題目三

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; }