受保护部分的朋友声明

时间:2013-07-28 09:56:56

标签: c++ operator-keyword protected

在受保护的部分宣布友谊是否有意义,而不是公开? 例如,在此代码中:

class Shape {
//...
protected:
     friend ostream& operator<<(ostream& os, const Shape& s);
     virtual void print(ostream& os) const = 0;
};

[注意Shape是抽象的]

我可以将朋友和功能声明公开吗? 谢谢!

1 个答案:

答案 0 :(得分:2)

  

在受保护的部分声明友谊是否有意义,   而不是公开?

没有。无论朋友声明是出现在类定义的公共部分,受保护部分还是私有部分中,友元类具有相同级别的访问权限。 link

  

我可以把朋友和函数声明放进去吗?   公共?

因此,是否在您的班级的私人,公共或受保护部分找到了声明并不重要。