2016-09-30 5 views
-2

friendクラスはfriend関数を含むクラスのメンバーにアクセスできます。その逆、つまりそのクラスは友人クラスのメンバーにアクセスすることもできますか?Vice Versa友情(アクセシビリティ)が真であるかどうかC++では?

+2

いいえ、あなたは自分自身をクラスの友人にすることができるので、アクセス修飾子は無意味です。 – NathanOliver

+0

私はなぜこれに否定的な印をつけているのか尋ねたいのですが? – Gaurav

+0

誰かが実際に質問を理解しましたか?私はしませんでした。 – LogicStuff

答えて

1

これは、逆も言えば、そのクラスのメンバーにアクセスすることもできます。友人クラスは本当ですか?

いいえ、できません。 friendキーワードは単方向です。双方向の方法でfriend機能を提供するために


、あなたがお互いのためfriendとして両方のクラスを指定する必要があります。実際には、これらの候補クラスの少なくとも1つの前方宣言が必要です。

class B; // Forward declare 
class A { 
    friend class B; 
}; 

class B { 
    friend class A; 
}; 
+0

したがって、相互の友好において唯一正しいことはありますか? – Gaurav

+0

@Gaurav _お互いの友情はどういう意味ですか?両側で「友人」と宣言していますか? –

+0

はいクラスAのよう{ 友人クラスB; }; クラスB { 友人クラスA; };ごめんなさい。私はそれを正しく意図することができません。 – Gaurav

関連する問題