结构体的比较方法
时间: 2023-06-21 19:11:29 浏览: 112
结构体的比较方法可以通过重载运算符实现。常用的比较运算符有“==”、“!=”、“<”、“>”、“<=”、“>=”等。
以比较两个点的坐标大小为例,可以定义一个结构体Point,其中包含两个成员变量x和y表示坐标,在结构体中重载运算符,实现比较方法如下:
```cpp
struct Point {
int x;
int y;
// 重载小于运算符
bool operator < (const Point& other) const {
if (x != other.x) return x < other.x;
return y < other.y;
}
// 重载等于运算符
bool operator == (const Point& other) const {
return x == other.x && y == other.y;
}
};
```
在以上代码中,重载了小于运算符和等于运算符,可以通过这两个运算符比较两个Point对象的大小和相等性。其中,小于运算符的实现是按照x坐标从小到大排序,如果x坐标相同则按照y坐标从小到大排序。
使用方法如下:
```cpp
Point p1 = {1, 2};
Point p2 = {3, 4};
if (p1 < p2) {
cout << "p1 is smaller than p2" << endl;
}
if (p1 == p2) {
cout << "p1 is equal to p2" << endl;
}
```
以上代码输出结果为“p1 is smaller than p2”。
阅读全文