请用operator重载+/-
时间: 2024-01-04 16:03:07 浏览: 27
当使用C++编程语言时,可以通过重载运算符来实现自定义类型的加减操作。
要重载加法运算符+,可以在类中定义一个成员函数或者一个友元函数。以下是一个示例:
```cpp
class MyNumber {
public:
int value;
MyNumber(int val) : value(val) {}
// 重载成员函数
MyNumber operator+(const MyNumber& other) {
MyNumber result(value + other.value);
return result;
}
// 重载友元函数
friend MyNumber operator-(const MyNumber& num1, const MyNumber& num2) {
MyNumber result(num1.value - num2.value);
return result;
}
};
```
在上面的示例中,`MyNumber` 类重载了加法运算符+,并通过成员函数实现。同时,还重载了减法运算符-,通过友元函数实现。
使用示例代码:
```cpp
int main() {
MyNumber num1(5);
MyNumber num2(3);
MyNumber sum = num1 + num2;
MyNumber diff = num1 - num2;
// 输出结果
std::cout << "Sum: " << sum.value << std::endl;
std::cout << "Difference: " << diff.value << std::endl;
return 0;
}
```
输出结果:
```
Sum: 8
Difference: 2
```
通过重载运算符,我们可以自定义类型的加减操作,使其适应特定的需求。需要注意的是,除了+和-运算符外,还可以重载其他运算符,如乘法运算符*、除法运算符/等。