ずっと、ず〜〜〜〜〜と悩んで調べて調べていましたが、いまだに見えてきません。
今オブジェクト指向でDirectXのラップクラスを作っていますが、
たとえばDirect3Dでは、Direct3Dデバイスが消失したとき、復元するまえに
SpriteなどのDirect3DオブジェクトをすべてLostしなければいけないんです。
このとき、Spriteは別クラスファイルに定義されているので、どうやってDirect3Dで
扱ったらいいか悩んでます。

Spriteクラスでは、Direc3Dメインクラスをインクルードしているので、
Direct3DメインクラスでSpriteクラスをインクルードすると、多重定義になってしまうので
やらないほうがいいのかなと思ってます。
なので、今はDirect3Dメインクラスで、Direct3Dオブジェクトすべての管理を行う形に
なってしまっています。
果たしてこれがオブジェクト指向になっているのか・・・

誰か、自分でラップクラスを作成している人いましたら、アドバイス下さい