受保护部分中的好友声明

friend declaration in protected section

本文关键字:好友 声明 受保护部      更新时间:2023-10-16

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

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

[注意形状是抽象的]

我可以把朋友和函数声明公开吗?谢谢

在受保护的部分声明友谊有意义吗,而不是在公共场合?

没有。无论友元声明出现在类定义的公共、受保护或私有部分中,友元类都具有相同级别的访问权限。链路

我可以把朋友和函数声明放进去吗平民的

因此,是的,声明是在类的私有、公共还是受保护的部分中找到都无关紧要。