gpt4 book ai didi

c++ - 在 C++ 中将一个对象添加到另一组对象

转载 作者:行者123 更新时间:2023-11-30 02:03:35 25 4
gpt4 key购买 nike

我正在完成我的 C++ 类(class)作业。

我必须创建 operator+=,它将一个对象添加到另一组对象。

那么,我如何在这里实现 operator+= 呢?

class classNew
{
anotherClass *my_objects;
public:
// TODO: classNew(int, char const *)
classNew operator+=(const anotherClass & rhs);
};

int main()
{
classNew d1(7, "w");
anotherClass sgs[5];
// somehow init sgs[0]..[4]?

for (int i=0; i<sizeof(sgs)/sizeof(*sgs); ++i)
d1 += sgs[i];
}

更新:

我有这样的东西

newClass newClass::operator+=(const anotherClass& seg){

this->my_objs[n_seg] = seg;

return *this;

}

最佳答案

除非您的 operator+=旨在修改您要添加的对象,这非常不寻常,我建议 one 对签名进行两个简单的更改:

classNew & classNew::operator+=(const anotherClass& rhs);

你总是想返回一个类的引用,否则你会得到一个拷贝。

你有一个指向 anotherClass 的指针在你的课上,我假设这实际上是一个指向数组的指针。您只需复制传递的 rhs到阵列中的适当位置,重新分配它并在必要时增加它。如果我的假设不正确,您只需要为您的类(class)做任何定义的加法。

如果这不是一项任务,我还建议用 std::vector<anotherClass> 替换指针.

关于c++ - 在 C++ 中将一个对象添加到另一组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691873/

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