gpt4 book ai didi

c++:检查对象数组中类的对象

转载 作者:行者123 更新时间:2023-11-28 06:01:51 26 4
gpt4 key购买 nike

假设我有一个 Element 类,

class Element {
private:
int value;
public:
void setValue(int v) {
value = v;
}
int getValue() {
return value;
}
};

然后我将这个类的对象存储在一个数组中。现在我如何检查我的对象数组是否包含类 Element 的某个对象。我已经尝试使用此函数匹配对象的值...是否有更好的方法?

bool contains(Element e)
{
int i;

for(i=0;i<size;i++)
if(elements[i].getValue()==e.getValue()) return true;
else return false;
}

最佳答案

您可以使用像 std::array 这样的 C++ 容器,然后使用 std::find_if。

如果你喜欢扩展你的代码,你可以重载 operator== 使用

bool operator==(const Element& lhs, const Element& rhs) {
return lhs.value == rhs.value
}

然后你就可以使用了

for(i=0;i<size;i++)
if(elements[i]==e) return true;

编辑:

由于 Element.value 是私有(private)的,您可能希望将其作为 Element 的方法

bool Element::operator==(const Element& other) {
return value == other.value
}

关于c++:检查对象数组中类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130951/

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