c++ a=a+b可以写成a+=b 重载运算符“+=”,实现两个复数相加
时间: 2023-08-05 17:05:21 浏览: 100
可以定义一个名为“+=”的成员函数来重载运算符“+=”,在该函数中实现复数相加的操作。下面是示例代码:
```
#include <iostream>
using namespace std;
class Complex {
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
Complex operator+=(const Complex& c) {
real += c.real;
imag += c.imag;
return *this;
}
void display() {
cout << "(" << real << ", " << imag << "i)" << endl;
}
private:
double real;
double imag;
};
int main() {
Complex a(1, 2), b(3, 4);
a += b;
a.display(); // 输出 (4, 6i)
return 0;
}
```
在上面的代码中,我们定义了一个名为 Complex 的类,其中包含了一个重载的“+=”运算符。该运算符接受一个 Complex 类型的参数 c,将其实部和虚部分别加到当前对象的实部和虚部上,并返回当前对象的引用。在 main 函数中,我们创建了两个复数 a 和 b,然后使用 a += b 进行相加,最后输出结果 (4, 6i)。
阅读全文