gpt4 book ai didi

c++创建一个类,调用它的函数并在一条语句中推回 vector

转载 作者:行者123 更新时间:2023-11-27 22:58:40 25 4
gpt4 key购买 nike

我有一个类MyClass和另一个包含 MyClass 数组的类,如下:

class MyClass {
int a;
float b;

void SetInt(int value)
{
a = value;
}

void SetFloat(float value)
{
b = value;
}
}

class MyClassArray {
std::vector<MyClass> classList;
}

创建新 MyClass 的更简单方法是什么? , 在 MyClassArray 中插入一个对象并调用方法在其上存储值?

我可以创建一个临时的 MyClass 吗?并将其插入到 vector 中,在一条语句中调用该函数?喜欢:

classList.push_back(MyClass().SetInt(21));
classList.push_back(MyClass().SetFloat(1.23));

这有效吗?

顺便说一句:我需要 vector一个对象 MyClass21设置在 a另一个是 1.23设置在 b ,这就是为什么我不为 a 使用初始化程序的原因和 b .

最佳答案

你可以使用链接:

class MyClass {
int a;
float b;
public:
MyClass& Set(int value) { a = value; return *this; }
MyClass& Set(float value) { b = value; return *this; }
};

这可以实现如下功能:

MyClass a;
a.Set(1).Set(1.5f);

还有:

vector<MyClass> vec;
vec.push_back(MyClass{}.Set(3));

关于c++创建一个类,调用它的函数并在一条语句中推回 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932165/

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