c++ pair 运算符重载
时间: 2023-11-22 08:44:37 浏览: 255
STL各种函数详细讲解
4星 · 用户满意度95%
当我们使用 `std::pair` 时,可以通过运算符重载来实现对其进行操作。下面是一个简单的示例:
```cpp
#include <iostream>
#include <utility>
using namespace std;
class MyPair {
public:
int first;
int second;
MyPair(int a, int b) : first(a), second(b) {}
MyPair operator+(const MyPair& other) const {
return MyPair(first + other.first, second + other.second);
}
bool operator==(const MyPair& other) const {
return (first == other.first && second == other.second);
}
};
int main() {
MyPair p1(1, 2);
MyPair p2(3, 4);
MyPair p3 = p1 + p2;
cout << "(" << p3.first << ", " << p3.second << ")" << endl;
if (p1 == p2) {
cout << "p1 equals p2" << endl;
} else {
cout << "p1 does not equal p2" << endl;
}
return 0;
}
```
在上面的示例中,我们定义了一个名为 `MyPair` 的类,它包含两个整数成员变量 `first` 和 `second`。我们通过运算符重载来实现了 `+` 和 `==` 运算符,使得我们可以对 `MyPair` 对象进行加法和相等性比较操作。
阅读全文