C ++如何防止导入循环

问题描述

我暂时有点茫然,所以我正在尝试堆栈溢出。我的问题是,我有一个名为“场景”的类,其中有一个“游戏对象”的地图。问题在于这些GameObject需要从那里的场景使用某些功能,因此我创建了一个分配给主场景的Scene *。这种情况下的问题是,我处于一个循环中,在其中导入包括GameObject的Scene到包含Scene的场景(然后继续)。如果您认为5isnis不清楚,请随时发表评论,我将提供更多详细信息或编辑此帖子。

Scene.h

class Scene
{
public:
    sf::RenderWindow* window;
    _Manager manager;

    sf::Color backgroundColor;
    std::string name;

    std::map<std::string,GameObject*> gameObjects;

    Scene();
    Scene(std::string name);

    virtual void Start() = 0;
    virtual void Update() = 0;
    virtual void Draw() = 0;

    void _Update();
};

GameObject.h

class GameObject : public Object
{
private:
    Scene* scene;
    std::vector<Component*> components;
public:
    Transform* transform = new Transform;

    void AddComponent(Component* component);
    Component* GetComponent(std::string type);

    GameObject* Find();
    void Instantiate(GameObject* gm,Transform* transform);

    void Start();
    void Update();
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)