インターフェイスオブジェクトへの(スマートではない)ポインターを持つクラス(pInterfaceと呼びましょう)があり、そのインターフェイスへのアクセスも必要とするネストされたクラスを構築しています。次のように、インターフェイスへのポインターをネストされたクラスのコンストラクターに渡すことで、これを回避します。
CNestedClass someClass( pInterface, ... );
ただし、このポインターをネストされたクラスに格納する最良の方法がわかりません。私は使用できます:
1) A scoped (or other smart) pointer (to the original object)
2) A pointer to a pointer
あなたたちは何を提案しますか、そしてその理由は何ですか?
編集:明確にする必要があります-ネストされたクラスはインターフェイスオブジェクトのメソッドを呼び出す必要がありますが、それを作成(または「指している」オブジェクトを変更)しません。親クラスがそれを担当します。