7

句がクラスのどこにfriend配置されるか (つまり、protectedブロックではなくブロック内private) は重要ですか?

4

1 に答える 1

10

いいえ、違います。

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

3つのクラスはすべてX、まったく同じ特権の友達であり、共有しています。

わかりやすくするために、すべてのフレンド宣言をグループ化することをお勧めしますが、それは単なるスタイルです。

11.4友達

9)フレンド宣言によって指名された名前は、フレンド宣言を含むクラスのスコープ内でアクセス可能でなければなりません。フレンド宣言の意味は、フレンド宣言がクラスメンバー仕様の(9.2)部分にprivate表示されているprotectedかどうかに関係なく同じです。public

于 2012-09-27T12:02:47.087 に答える