[英]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.