簡體   English   中英

初始化是另一個類對象的靜態類成員

[英]Initializing static class member which is another class object

我是這個論壇的新手,我的問題也可能像新手一樣。

具體來說:我正在SFML庫(語言:C ++)中開發一個簡單的2D游戲。 會有一個呈現磚塊的物體。 這可能無關緊要。 我希望磚塊在屏幕上看起來一樣,所以我只為它們制作了一種紋理。 這是我的問題:

我剛剛聲明了sf :: Texture作為Brick類的成員。 問題是紋理是一個紋理,我不想每次創建磚類的新實例時都為其加載或分配內存。 我只想在代碼中創建一次,而不在其他任何地方進行更改。 所以我認為我可以使其靜止。 由於SFML中的紋理也是一門課,因此我遇到了種種神秘感:

有方法LoadFromFile()。 我想調用它來加載我的紋理。 如何調出該類的方法,該方法是另一個類的靜態成員。

PS:這可能是您讀過的最糟糕的描述。 事實是我無法向任何人描述任何東西。 總是比事實多說話。希望您理解我的問題。

我不確定我是否理解您的問題,但可以回答您的一般問題“如何調用屬於另一個類的靜態成員的類的方法”,看起來像下面的原始代碼:

#include <iostream>

class A 
{
   public:
   void printStr() { std::cout << "This is from A" << std::endl; };
};

class B
{
   public:
   // Static member declaration.
   static A a;
};

// Define a
A B::a;

int main()
{
   B::a.printStr();
   // or
   B b;
   b.a.printStr();
   return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM