>893
そのケースも、例えば
 class B {
  public: Func2(){ m_pA->Func1(); }
  private: A*m_pA;
 };
と組んでいた場合、Awrapperを用意して↑のA*を書き換えれば、
Bの修正は1箇所で済むと思いますが。
(より適切な名前を付けるなら、Aadapterとすべきでしょうか。)

しかもこの方法なら、他にAを使っているクラスがあった場合に
Awrapperを使い回せます。