受保护部分中的好友声明
friend declaration in protected section
在受保护的部分而不是公开声明友谊有意义吗?例如,在此代码中:
class Shape {
//...
protected:
friend ostream& operator<<(ostream& os, const Shape& s);
virtual void print(ostream& os) const = 0;
};
[注意形状是抽象的]
我可以把朋友和函数声明公开吗?谢谢
在受保护的部分声明友谊有意义吗,而不是在公共场合?
没有。无论友元声明出现在类定义的公共、受保护或私有部分中,友元类都具有相同级别的访问权限。链路
我可以把朋友和函数声明放进去吗平民的
因此,是的,声明是在类的私有、公共还是受保护的部分中找到都无关紧要。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 未在作用域中声明unordered_map
- C++避免重复声明的语法是什么
- 如何确保C++函数在定义之前声明(如override关键字)
- 类模板的好友声明
- MSVC 2017 - 错误 - 如何将模板类 X 的模板成员函数声明为嵌套类 X::Y 的好友
- 为什么转发声明的好友类不能在类中引用?
- 使用好友声明访问私有模板
- 声明嵌套基模板类实例是派生类的好友
- 无法在好友函数中实例化类?我没有得到在范围错误中声明
- 如何在 OSX 上将静态C++函数声明为好友
- 当我将一个类声明为其他类的成员时出现错误。 错误:声明好友时必须使用类键
- 放置好友声明
- 在好友声明中使用限定名称的规则是什么?
- 如何声明两个类,以便 A 具有 B 的成员,B 将 A 的成员标记为好友
- 转发声明和好友函数
- 受保护部分中的好友声明
- 在 B 类中声明为好友的 A 类成员模板函数无法访问 A 类的私有成员(仅限 Clang)
- 无法为 Typedef 声明好友
- 如何在模板类中声明好友用户定义的文字操作符