c++ 运算符重载减法
时间: 2024-04-19 07:21:08 浏览: 141
C++ 运算符重载
5星 · 资源好评率100%
C++运算符重载是一种特性,它允许我们重新定义已有的运算符的行为,使其适用于自定义的数据类型。对于减法运算符(-),我们可以通过重载来定义两个对象相减的操作。
在C++中,减法运算符可以通过成员函数或非成员函数进行重载。下面是一个示例,展示了如何通过成员函数重载减法运算符:
```cpp
#include <iostream>
class MyClass {
private:
int value;
public:
MyClass(int val) : value(val) {}
MyClass operator-(const MyClass& other) {
MyClass result(value - other.value);
return result;
}
int getValue() const {
return value;
}
};
int main() {
MyClass obj1(5);
MyClass obj2(3);
MyClass result = obj1 - obj2;
std::cout << "Result: " << result.getValue() << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个名为`MyClass`的类,并在其中重载了减法运算符。重载函数的名称是`operator-`,它接受一个常量引用参数`other`,表示要减去的另一个对象。在函数体内,我们执行了相应的减法操作,并返回一个新的`MyClass`对象作为结果。
在`main`函数中,我们创建了两个`MyClass`对象`obj1`和`obj2`,并将它们相减得到结果`result`。最后,我们输出了结果的值。
阅读全文