gpt4 book ai didi

c++ - 使用相同的对象来比较彼此的 vector

转载 作者:行者123 更新时间:2023-11-28 06:35:40 25 4
gpt4 key购买 nike

假设我创建一个构造函数 Set::Set(vector<int> &v)接受一个 vector 并保存它。我有一个 Union 方法,它接受 Set 类型的参数,并将其 vector 与最初从构造函数初始化的 originalSet 的内容进行比较。

您如何使用 this 执行此操作?运算符(operator)?我知道 union 函数是如何工作的,但我不明白的是如何从 Union 方法的参数中获取 vector 。

class Set
{
public:
Set(vector<int> &);
void setter(vector<int> &);
Set Union(Set);


private:
vector<int> originalSet;
};



Set Set::Union(Set s)
{


}


Set::Set(vector<int> &v)
{
setter(v);

}

void Set::setter(vector <int> &v)
{
originalSet = v;
}

最佳答案

在你的函数中:

Set Set::Union(const Set& s) // take by const&
{
originalSet; // this is the set owned by "this" object
s.originalSet; // this is the set owned the Set passed in

// so one [wrong] implementation might be to just combine them
Set full(originalSet);
full.originalSet.insert(full.originalSet.back(),
s.originalSet.begin(),
s.originalSet.end());
return full;
}

这显然不是 Union 的正确实现,但它应该向您展示正确编写它所需的工具。

关于c++ - 使用相同的对象来比较彼此的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26823353/

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