c++重载判断运算符
时间: 2024-09-16 22:00:15 浏览: 51
详解C++ 重载运算符和重载函数
5星 · 资源好评率100%
在 C++ 中,重载运算符允许程序员自定义基本数学、逻辑或其他预定义的操作,使其能够应用于特定的数据类型。当涉及到比较、算术、逻辑等运算时,你可以创建函数模板或者成员函数来“重载”标准库提供的运算符。
例如,如果你有一个名为 `Point` 的类,你可以重载 `+` 运算符使得两个点可以相加,或者 `==` 运算符来比较两个点是否相等。重载运算符需要遵守一些规则:
1. 函数名必须与运算符匹配,比如 `operator+(const Point &a, const Point &b)` 用于定义加法操作。
2. 返回类型通常也是该运算符对应的结果类型。
3. 参数列表应该反映出运算符的结合性和优先级。
例如:
```cpp
class Point {
public:
// 重载加法运算符
Point operator+(const Point &other) {
return {x + other.x, y + other.y};
}
// 重载等于运算符
bool operator==(const Point &other) const {
return x == other.x && y == other.y;
}
private:
int x, y;
};
// 使用示例
Point p1(0, 0), p2(1, 1);
if (p1 + p2 == Point(1, 1)) { // 等于运算符重载后的比较
std::cout << "Points are equal.\n";
}
```
阅读全文