c++如何比较两个自定义类型的vector
时间: 2023-07-26 17:35:02 浏览: 118
cpp代码-vector容器存放自定义类型
比较两个自定义类型的vector,需要重载运算符"=="或者"<"等。以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
class Person{
public:
string name;
int age;
// 重载运算符"=="
bool operator==(const Person& p) const{
return name == p.name && age == p.age;
}
};
int main(){
vector<Person> v1{{"Tom", 20}, {"Mary", 18}, {"John", 22}};
vector<Person> v2{{"Tom", 20}, {"Mary", 18}, {"John", 22}};
if(v1 == v2){
cout << "v1 equals v2" << endl;
}else{
cout << "v1 not equals v2" << endl;
}
return 0;
}
```
在上面的代码中,我们定义了一个Person类,它有name和age两个成员变量。然后重载运算符"==",用来比较两个Person对象是否相等。
在主函数中,我们定义了两个存储Person对象的vector,分别是v1和v2。接着,我们使用"=="运算符比较v1和v2是否相等,如果相等,则输出"v1 equals v2",否则输出"v1 not equals v2"。
阅读全文