在C++中,重载结构中的<运算符可以让我们在集合中使用自定义的结构进行排序和比较。下面是正确重载<运算符的步骤:
下面是一个示例,演示如何在C++中正确重载结构中的<运算符:
struct Person {
std::string name;
int age;
bool operator<(const Person& obj) const {
// 按照年龄进行比较
return age < obj.age;
}
};
int main() {
std::set<Person> people;
Person p1{"Alice", 25};
Person p2{"Bob", 30};
Person p3{"Charlie", 20};
people.insert(p1);
people.insert(p2);
people.insert(p3);
for (const auto& person : people) {
std::cout << person.name << " " << person.age << std::endl;
}
return 0;
}
在这个示例中,我们定义了一个Person结构体,包含姓名和年龄两个成员变量。然后,我们重载了<运算符,按照年龄进行比较。最后,我们使用std::set容器来存储Person对象,并输出按照年龄从小到大排序的结果。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云