如何在任何课程中使用对象形式? C ++

时间:2014-01-13 17:06:59

标签: c++ window sfml

任何人都可以告诉我如何使用我在main中定义的对象如此

int main()
{
sf::RenderWindow window;
}

现在我想在课堂上使用window对象。但它必须指出相同的main window。我们怎么用呢?任何人都可以用一些代码示例来解释它吗? 我正在使用C ++的SFML库。

2 个答案:

答案 0 :(得分:2)

您可以将它们作为引用或指针传递,例如:

class CEngine {
  sf::RenderWindow& window;
public:
  CEngine(sf::RenderWindow& wnd) : window(wnd) {}
  // ...
};

int main()
{
sf::RenderWindow window;
CEngine engine(window);
}

答案 1 :(得分:1)

有几种解决方案可以使main中创建的对象可用于其他代码:

  • window作为参数,通过指针或引用传递给需要使用它的代码
  • 创建一个 singleton 对象,其中包含指向window的指针,在整个代码中使用该对象,并在调用任何其他代码之前将其指针设置在main
  • 为了完整起见,您可以在main中创建一个指向您的对象的全局变量。这不是一个好建议。