我正在阅读这样的代码:
class Member
{
public:
friend std::istream& operator>>(std::istream& in, Member& m)
{
in >> m.name >> m.bYear >> m.bMonth;
return in;
}
friend std::ostream& operator<<(std::ostream& out,const Member& m)
{
out << m.name << " " << m.bYear << "." << m.bMonth;
return out;
}
private:
std::string name;
int year;
int month;
};
我以前从未见过这种写法。在类体内使用 friend
定义非成员函数是一种好的实践吗?有什么优缺点吗?
friend
的使用并不在讨论范围内。 - Deduplicator