编写一个复数类的例子,重载+、-、=运算符,进而实现复数加、减、赋值运算
时间: 2023-06-12 20:03:43 浏览: 101
用重载运算符的方法进行复数的加、减、乘、除运算
以下是一个复数类的示例代码,包含重载 +、-、= 运算符,实现了复数的加减和赋值运算。
```c++
#include <iostream>
using namespace std;
class Complex {
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
Complex operator+ (const Complex& other) const {
return Complex(real + other.real, imag + other.imag);
}
Complex operator- (const Complex& other) const {
return Complex(real - other.real, imag - other.imag);
}
Complex& operator= (const Complex& other) {
real = other.real;
imag = other.imag;
return *this;
}
void print() const {
cout << "(" << real << ", " << imag << "i)" << endl;
}
private:
double real;
double imag;
};
int main() {
Complex c1(1, 2), c2(3, 4), c3;
c3 = c1 + c2;
c3.print(); // (4, 6i)
c3 = c1 - c2;
c3.print(); // (-2, -2i)
c1 -= c2;
c1.print(); // (-2, -2i)
return 0;
}
```
在上面的代码中,我们定义了一个复数类 `Complex`,包含实部和虚部两个成员变量。重载了加、减、赋值运算符,通过这些运算符可以将两个复数相加、相减,并且实现了赋值运算。在主函数中,我们创建了三个复数对象,分别进行加、减、赋值运算,并输出结果。
阅读全文