我是这个论坛的新手,我的问题也可能是新手。
具体来说: 我正在使用SFML库中的一个简单的2D游戏,即:C ++。 会有一个呈砖的物体。这可能是无关紧要的。 我希望我的砖在屏幕上看起来一样,所以我只为它们制作了一个纹理。这是我的问题:
我刚刚将sf :: Texture声明为brick类的成员。问题是纹理是一个,我不想每次创建砖类的新实例时加载它或为它分配内存。我想在代码中只创建一次,而不是在其他地方更改它。所以我想我可以让它变得静止。 由于SFML中的纹理也是一个类,我遇到了一些神秘的东西:
有方法LoadFromFile()。 我想把它叫出来加载我的纹理。如何调用类的方法,它是另一个类的静态成员。
PS:这可能是你读过的最糟糕的描述。事实是我无法向任何人描述任何事情。总是有更多的谈论事实等等。希望你理解我的问题。
答案 0 :(得分:0)
我不确定我是否理解你的问题,但回答你的一般问题“如何调用类的方法,这是另一个类的静态成员”看起来像下面的粗略代码:
#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;
}