假设我有一个类 Test
:
class Test {
public:
int a;
Test();
int set(int a);
};
Test::Test() {}
int Test::set(int a) {
this->a = a;
return a;
}
这个类的实例可以用这样的值初始化(当然):
Test t;
t.set(10);
但是有没有办法在一行中做到这一点?以下代码不起作用。
Test t.set(10);
我什么时候想这样做?
我正在使用游戏开发库 - SFML - 并且要将纹理应用于形状,我需要传递对 Texture
实例的引用,如下所示:
Texture texture;
texture.loadFromFile("mud.png");
rect.setTexture(&texture);
我想创建一个类,其中包含一些定义一些纹理的静态常量,然后我可以在其他地方使用它们。
最佳答案
您可以创建一个辅助 make 函数:
auto make_texture_from_file(const std::string& filename) -> Texture
{
Texture texture;
texture.loadFromFile(filename);
return texture;
}
关于c++ - 使用方法而不是构造函数设置值的类的一行初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45772405/