【发布时间】:2012-09-19 05:03:59
【问题描述】:
friend 子句在类中的哪个位置是否重要(即在 protected 块内而不是 private 块内)?
【问题讨论】:
标签: c++ class friend protected private-members
friend 子句在类中的哪个位置是否重要(即在 protected 块内而不是 private 块内)?
【问题讨论】:
标签: c++ class friend protected private-members
不,它没有。
class X
{
public:
friend class A;
private:
friend class B;
protected:
friend class C;
};
所有三个班级现在都是X 的朋友,并享有完全相同的特权。
一个好的约定是将所有朋友声明组合在一起以提高可见性,但这只是样式。
9) 朋友声明指定的名称应可在 包含朋友声明的类的范围。的含义 无论朋友声明,朋友声明都一样 出现在类的
private、protected或public(9.2) 部分 成员规范。
【讨论】:
private 部分,但在类的顶部(紧跟在{ 之后),以提醒所有读者,以后有些人可能会绕过公共接口列出。
public 部分,因为这通常是其他开发人员阅读的唯一部分。