什么是“朋友istream& operator>>(istream&,class_name&);”装置?

时间:2018-03-15 18:08:54

标签: c++ operator-overloading

#include <iostream>
using namespace std;

const int size = 3;
class vector {
   int v[size];

    public:
        vector(); 
        vector(int *x);
        friend vector operator * (int a, vector b); 
        friend vector operator * (vector b, int a); 
        friend istream & operator >> (istream &, vector &);
        friend ostream & operator << (ostream &, vector &);
    };
}

如上面的代码所示,我无法理解

friend istream & operator >> (istream &, vector &);

据我所知,该流用于输入数据流和用于输出的ostream,但istream&amp;表示运算符重载之前的&gt;&gt;。

1 个答案:

答案 0 :(得分:-1)

这意味着它返回对istream对象的引用。这对于操作员链接是必要的,因为您已经习惯cout

std::cout << "foo" << "bar";

如果不返回对自身的引用,则此部分:<< "bar"将无法实现。