Component親クラスであるクラスがあり、たとえばクラスがありSpriteます。Spriteアニメーションの子供もたくさんいますが、それはこの質問の焦点ではありません。を保持するコンポーネントマネージャーもありますmap<string, Component>。作成したすべてのコンポーネントをこのマップに保存します。現在12種類のコンポーネントがありますが、それは増えるでしょう。
私Componentのクラスにはvirtual void draw()とupdate()関数があり、Spriteこの場合も同じです。ただし、コンポーネントのマップをループすると、とだけが呼び出さComponent draw()れupdate()ます。
私はまだ実際に私のために働いている答えを見つけることができませんでした。