在受保护的部分宣布友谊是否有意义,而不是公开? 例如,在此代码中:
class Shape {
//...
protected:
friend ostream& operator<<(ostream& os, const Shape& s);
virtual void print(ostream& os) const = 0;
};
[注意Shape是抽象的]
我可以将朋友和功能声明公开吗? 谢谢!
答案 0 :(得分:2)
在受保护的部分声明友谊是否有意义, 而不是公开?
没有。无论朋友声明是出现在类定义的公共部分,受保护部分还是私有部分中,友元类具有相同级别的访问权限。 link
我可以把朋友和函数声明放进去吗? 公共?
因此,是否在您的班级的私人,公共或受保护部分找到了声明并不重要。