Sprite と PhysicsData という、まったく異なる 2 つの異なるオブジェクトがあるとします。
空の基本クラスと、コンテナーとの間でオブジェクトをプッシュおよび削除できるコンテナー クラスを作成します。
これらのコンテナーを 2 つ作成して、2 つの異なるオブジェクト (Sprite と PhysicsData) を格納します。(異なるオブジェクトが同じクラスにまとめられていません)
class base
{
};
class ContainerManager
{
public:
std::vector<base*> list;
void Push(base *object);
void Remove(base *object);
};
class PhysicsData : public base
{
void applyGravity();
};
class Sprite : public base
{
void Draw();
};
ContainerManager SpriteContainer;
ContainerManager PhysicsDataContainer;
Sprite aSprite;
SpriteContainer.Push(&aSprite);
PhysicsData SomeData;
PhysicsDataContainer.Push(&SomeData);
これは、これが行われるべき方法ですか?