C++ 如何在任何类中使用对象窗体main?C++;

C++ 如何在任何类中使用对象窗体main?C++;,c++,window,sfml,C++,Window,Sfml,有人能告诉我如何使用我在main中定义的对象吗 int main() { sf::RenderWindow window; } 现在我想在我创建的类中使用window对象。但它必须指向相同的main窗口。我们如何使用它?有人能用一些代码示例来解释吗? 我使用的是C++的SFML库。 ,可以将它们作为引用或指针传递,例如: class CEngine { sf::RenderWindow& window; public: CEngine(sf::RenderWindow&

有人能告诉我如何使用我在main中定义的对象吗

int main()
{
sf::RenderWindow window;
}
现在我想在我创建的类中使用
window
对象。但它必须指向相同的
main
窗口
。我们如何使用它?有人能用一些代码示例来解释吗?

我使用的是C++的SFML库。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


您能解释一下代码的第四行吗?在
public
下,这是构造函数,类型参数引用为
sf::RenderWindow
。若类中有引用字段(变量),则必须在构造函数初始化列表中对其进行初始化,即
window(wnd)
。为什么要将构造函数设置为私有的。为什么不公开?它是公开的,
public:
下面的所有内容都是公开的。哦,对不起,我没看到!你能解释一下你代码的第四行吗?在
public
下,这是构造函数,类型参数引用为
sf::RenderWindow
。若类中有引用字段(变量),则必须在构造函数初始化列表中对其进行初始化,即
window(wnd)
。为什么要将构造函数设置为私有的。为什么不公开?它是公开的,
public:
下面的所有内容都是公开的。哦,对不起,我没看到!你能解释一下你代码的第四行吗?在
public
下,这是构造函数,类型参数引用为
sf::RenderWindow
。若类中有引用字段(变量),则必须在构造函数初始化列表中对其进行初始化,即
window(wnd)
。为什么要将构造函数设置为私有的。为什么不公开?它是公开的,
public:
下面的所有内容都是公开的。哦,对不起,我没看到!你能解释一下你代码的第四行吗?在
public
下,这是构造函数,类型参数引用为
sf::RenderWindow
。若类中有引用字段(变量),则必须在构造函数初始化列表中对其进行初始化,即
window(wnd)
。为什么要将构造函数设置为私有的。为什么不公开?它是公开的,
public:
下面的所有内容都是公开的。哦,对不起,我没看到!时间读一本好的C++书:时间读一本好的C++书:时间读一本好的C++书:时间读一本好的C++书: