7

将子句放在类中的哪个friend位置(即在protected块内而不是private块内)是否重要?

4

1 回答 1

10

不,不是的。

class X
{
public:
    friend class A;
private:
    friend class B;
protected:
    friend class C;
};

这三个班级现在都是朋友X并享有完全相同的特权。

一个好的约定是将所有朋友声明组合在一起以提高可见性,但这只是风格。

11.4 朋友

9) 由友元声明指定的名称应可在包含友元声明的类范围内访问。private无论朋友声明出现在类成员规范的,protectedpublic(9.2) 部分中,朋友声明的含义都是相同的。

于 2012-09-27T12:02:47.087 回答