c++ 重写等于操作符
时间: 2023-07-19 19:38:26 浏览: 111
c风格字符串-3.7v转3v电源芯片,pw2052最新中文规格书
在 C++ 中,可以通过重载等于操作符 `operator==` 来自定义对象的相等比较规则。重载等于操作符的一般形式如下:
```c++
bool operator==(const MyClass& other) const {
// 比较规则的实现
}
```
其中,`MyClass` 是自定义类的名称,`other` 是另一个对象的引用。重载等于操作符必须返回一个布尔值,表示两个对象是否相等。`const` 关键字表示该方法不会修改当前对象的状态。
以下是一个示例代码,演示如何重载等于操作符:
```c++
class MyClass {
public:
int value;
// 重载等于操作符
bool operator==(const MyClass& other) const {
return value == other.value;
}
};
int main() {
MyClass a{1}, b{2}, c{1};
std::cout << std::boolalpha;
std::cout << (a == b) << std::endl; // false
std::cout << (a == c) << std::endl; // true
return 0;
}
```
在这个例子中,`MyClass` 类只有一个 `int` 类型的成员变量 `value`。我们重载了等于操作符,实现了按照 `value` 的值来判断两个对象是否相等。在 `main` 函数中,我们创建了三个 `MyClass` 类型的对象,然后分别比较它们的相等性。
阅读全文