这基本上就是一个问题,有没有一种“正确”的方式来实现 operator<<
?
阅读 这个我可以看到这样的东西:
friend bool operator<<(obj const& lhs, obj const& rhs);
比起像
ostream& operator<<(obj const& rhs);
但我不太明白为什么要用这两者之一。
我的个人情况是:
friend ostream & operator<<(ostream &os, const Paragraph& p) {
return os << p.to_str();
}
但我可以这么做:
ostream & operator<<(ostream &os) {
return os << paragraph;
}
我应该根据什么理由做出这个决定?
注 :
Paragraph::to_str = (return paragraph)
段落是一个字符串。