>766
まぁ普通はそうします罠。
では質問をちょっと変えて、↓のB〜Eのうち、これは無いだろってのを挙げて下さい。
あと一部は良くて他は駄目と言う場合、できれば何が違うかも挙げて下さい。
※クラスB〜Eは、Aとは全く役割が異なるクラスとします。
※Func2〜5は、func1を呼び出す以外の処理も行うとします。
※クラスA以外のfunc1は、クラスAのfunc1を呼び出すだけとします。
※コンストラクタやm_pAの初期化処理は割愛。

 class A {
  public: void Func1( );
 };
 class Awrapper {
  public: void Func1( ) { m_pA->Func1( ); }
  private: A* m_pA;
 };
 class B {
  public: void Func2( ) { m_pA->Func1( ); }
  private: A* m_pA;
 };
 class C {
  public: void Func3( ) { Func1( ); }
  private: void Func1( ) { m_pA->Func1( ); }
  private: A* m_pA;
 };
 class D : private Awrapper {
  public: void Func4( ){ Func1( ); }
 };
 class E : private A {
  public: void Func5( ) { Func1( ); }
 };