我如何编译具有循环依赖关系的代码? [关闭]

问题描述 投票:-3回答:1

[我在c ++ sfml中获得了一条蛇代码。在这里我有2个对象Snake和Food,我还有一个main(),其中包含Windows的sfml设置。我只想制作3个从main调用的对象,但它会导致循环引用并且无法编译。

我想拥有的是(或与下面的想法相似的东西。

int main
{ 
    Food food(window); 
    Snake snake(window, food); 
    Window window(snake, food); 

    window.start(); 
}

需要参考其窗口的“蛇气法”绘图(对于绘图,因为绘图需要窗口句柄),而更新也需要窗口(针对窗口大小))>

食物也需要出于紧要原因的那些食物(需要抽奖和贴窗)

窗口反过来又有它的窗口循环,需要从那里调用那些蛇和食物的更新和绘制

// edit

有人要求定义,但定义是直截了当的

    class Window
    {
    public:
      Window::Window(Snake& s, Food& f): snake(s), food(f)
     {

     }
    private:
      Snake& snake;
      Food& food;
   }

我在c ++ sfml中获得了一条蛇代码。在这里我有2个对象Snake和Food,也有一个main(),其中包含Windows的sfml设置。我只想制作3个从main调用的对象,但是...

c++ oop circular-dependency
1个回答
0
投票

如何编译具有循环引用的c ++代码?

© www.soinside.com 2019 - 2024. All rights reserved.