2010-12-04 1 views
5

BのコンストラクタをAのフレンドと宣言する方法は?私が試した:C++でまだ定義されていない別のクラスのメンバ関数である友達を宣言するには?

class A 
{ 
    private: 
    A(); 
    public: 
    friend B::B(); 
}; 

class B 
{ 
    public: 
    B(); 
}; 
+4

これを編集して終了しないようにしました。いくつかの幸せなクローザーを引き起こす - 潜在的な非母国語のスピーカーや初心者にいくつかの余裕を与える。 @IamMan、StackOverflowへようこそ - 質問を明確にし、インデントコードを適切に作成しようとすると、多くの人がそれを理解していないと質問が閉じられます。また、誰かが質問に正しく答えた場合は、それが正しい答えであることを示す左側のチェックマークをクリックします。 –

答えて

7

classB::を置き換えます。

+6

この回答は実際にはBのすべてを友人にします。それはおそらくOPが望んだものですが、彼らが求めたものではありません。彼らが求めたことは不可能です。この質問に対する回答を探している他の人は、意識するようにしてください。 –

+1

うん。この回答は、提案が正確に何を求めていないのかを明らかにするために修正する必要があります。なぜなら、質問が望むものは不可能であるからです。誰かがこの回答を適用した場合、元の質問よりもはるかに広いアクセスを許可しているという事実について注意深く考える必要はありません。 (もう一つの解決策は、Aのプライベートメンバーを公開することです。これにより、希望のアクセスも許可されますが、OPが探していたよりもはるかにアクセスを許可することになります。指摘する必要があります。) –

関連する問題