gpt4 book ai didi

c++ - 使用方法而不是构造函数设置值的类的一行初始化

转载 作者:行者123 更新时间:2023-11-27 23:51:55 24 4
gpt4 key购买 nike

假设我有一个类 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com