c++复用复合赋值运算符重载算术运算符
时间: 2023-11-30 16:41:58 浏览: 132
在C++中,我们可以通过重载运算符来实现自定义类型的运算。对于复合赋值运算符和算术运算符,它们可以被重载为成员函数或非成员函数。一般来说,复合赋值运算符被重载为成员函数,而算术运算符被重载为非成员函数。
下面是一个示例代码,演示了如何在C++中重载复合赋值运算符和算术运算符:
```c++
#include <iostream>
using namespace std;
class MyNumber {
public:
int value;
MyNumber(int v) : value(v) {}
// 重载复合赋值运算符 +=
MyNumber& operator+=(const MyNumber& other) {
value += other.value;
return *this;
}
// 重载算术运算符 +
friend MyNumber operator+(MyNumber lhs, const MyNumber& rhs) {
lhs += rhs;
return lhs;
}
};
int main() {
MyNumber a(1), b(2);
MyNumber c = a + b; // 调用重载的算术运算符 +
cout << c.value << endl; // 输出:3
c += MyNumber(3); // 调用重载的复合赋值运算符 +=
cout << c.value << endl; // 输出:6
return 0;
}
```
阅读全文