2014-01-13 38 views
0

誰能告訴我,我該如何使用,我在主像這樣定義
如何在任何類中使用Objects主窗體? C++

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

物件,現在我想用window對象在課堂上,我做。但它必須指出相同的mainwindow。我們如何使用它?任何人都可以用一些代碼示例解釋它嗎?
我正在使用C++的SFML庫。

+0

閱讀一本好的C++書的時間:http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list –

回答

2

您可以將它們作爲引用或指針,例:

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

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

你能解釋第四行代碼嗎?在'公共'下? –

+0

這是構造函數,其參數類型爲'sf :: RenderWindow'。如果你的類中有引用字段(變量),你必須在構造函數初始化列表中初始化它,即window(wnd)'。 – marcinj

+0

你爲什麼要私下製作構造函數。爲什麼不公開? –

1

有幾種解決方案中創建使物體main提供給其他代碼:

  • 傳遞window作爲參數,通過指針或引用,代碼,需要使用它
  • 作出單身人士對象,持有指向window,在整個代碼中使用該對象,並在調用任何其他代碼之前在main中設置其指針
  • 爲了完整起見,您可以在main中指定一個全局變量指向您的對象。這不是一個好建議。
相關問題