输入流(>>) 和输出流(<<) 对象重载

in stream(>>) and out stream(<<) object overloading

为什么我们总是需要友元函数来重载 (>>) in stream 或 (<<) out stream 运算符。

它不一定是友元,除非对象包含无法访问的私有数据成员。

例如,如果 class 碰巧有所有成员的 getter 和 setter,则可以使用这些来实现运算符。那样的话就不一定是朋友了。

插入运算符<<被友元函数重载。重载运算符允许我们直接使用 cout 语句显示对象的内容。提取运算符在执行调用运算符的 cin 语句后重载。有关更详细的说明,请参阅 this