BREW で Java 風のクラスを作る(2)


前回のプログラムの問題点は、キャストするたびに QueryInterface() を呼び出さなければならず、Java の文法とはかけ離れた処理を行わないといけなかったことです。
これを自然な書き方にするためには、内部で QueryInterface() を呼び出す必要があるため、キャストをするときに独自の処理を行わなければいけません。
独自の処理を行うということは、

IObject* pObj = (IObject*)pHoge;

のような、ポインタをキャストするのでは不可能なので、独自のキャスト処理を行うためのクラスを作ってやる必要があります。

続きを読む