C++相談室 part28
■ このスレッドは過去ログ倉庫に格納されています
0898デフォルトの名無しさん
NGNGで、できたのが次のような方法。実験はVC6で行いました。
【定義】
typedef void (CObject::*METHOD_HANDLER)(CObject *Sender);
// たとえばメインフレームクラス
class CMainFrame : public CFrameWnd
{
:
private:
void MainFrameHandler(int Hoge);
:
};
【使うとき】
CObject *pInstance;
METHOD_HANDLER pHandler;
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
:
:
pInstance = this;
pHandler = (METHOD_HANDLER)&CMainFrame::MainFrameHandler;
}
で、使うときはこんな具合。
pInstance->*pHandler(5963);
一応意図した動作はしていますが、こんなんで大丈夫なんでしょうか。
インスタンスとオフセット情報さえあれば型は何でもいいのかな?
■ このスレッドは過去ログ倉庫に格納されています