0

私のプロジェクトには、チェーンの下位クラスのベースwin32ウィンドウである親クラスCWndがあります。次に、テンプレート宣言を使用してこのクラスのインスタンスを作成し、さまざまな種類のウィンドウを作成できるようにします。

次に、次のようにメンバーを追加します。

void CChildWndClass::OnSize(HWND hWnd, UINT state, int nWidth, int nHeight)
{
    // do something
}

問題は、これらのメンバーが仮想であるということです。一部のイベント(例:OnDestroy)では、親の元のコードをオーバーライドするため、各子クラスにコピーして貼り付ける必要がなく、すべてのウィンドウクラスで実行したいコードがあります。

子クラスの関数に、オーバーライドするのではなく、コードを自分自身に追加させるにはどうすればよいですか?

4

1 に答える 1

0

Subclass into a class with the functionality you desire, and then subclass from that class of your own to obtain similar subclasses.

The method you don't want to implement, simply don't, and they continue to be virtual in the subsubclasses.

People also use to make libraries in those situations.

于 2012-06-10T06:20:00.187 に答える