私は現在、C++のスプライトエンジンに取り組んでいます。仮想関数init_apiを持つ抽象クラスIEngineがあります。これはボイド*を取ります。
// Initialise the engines' API
// api_params - void* to api parameters for initalisation
// hWnd - window handle
virtual bool init_api( void* api_params, HWND hWnd ) = 0;
次に、DirectXで実装されたエンジンクラスCEngineDXがあります。次に、api_paramsをD3DPRESENT_PARAMETERS *にキャストするため、DirectXの初期化に使用できます。
// Cast api_params to a D3DPRESENT_PARAMETERS
D3DPRESENT_PARAMETERS* presentParams = NULL;
presentParams = reinterpret_cast< D3DPRESENT_PARAMETERS* >( api_params );
私はこの設定に非常に満足していますが、必要に応じて、他のプログラマーにこの「ソリューション」を見てもらいたいと思っていました。
返信に乾杯!
カール