c++复数的四则运算代码
时间: 2023-06-16 21:02:15 浏览: 67
下面是一个简单的C++代码示例,实现了复数的四则运算(加、减、乘、除):
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Complex {
private:
double real, imag;
public:
Complex(double r, double i) {
real = r;
imag = i;
}
Complex operator+(Complex const &obj) {
Complex res(0, 0);
res.real = real + obj.real;
res.imag = imag + obj.imag;
return res;
}
Complex operator-(Complex const &obj) {
Complex res(0, 0);
res.real = real - obj.real;
res.imag = imag - obj.imag;
return res;
}
Complex operator*(Complex const &obj) {
Complex res(0, 0);
res.real = real * obj.real - imag * obj.imag;
res.imag = real * obj.imag + imag * obj.real;
return res;
}
Complex operator/(Complex const &obj) {
Complex res(0, 0);
double denominator = obj.real * obj.real + obj.imag * obj.imag;
res.real = (real * obj.real + imag * obj.imag) / denominator;
res.imag = (imag * obj.real - real * obj.imag) / denominator;
return res;
}
double getReal() {
return real;
}
double getImag() {
return imag;
}
void print() {
if (imag >= 0) {
cout << real << " + " << imag << "i" << endl;
} else {
cout << real << " - " << abs(imag) << "i" << endl;
}
}
};
int main() {
Complex c1(3, 2), c2(1, -1);
Complex c3 = c1 + c2;
Complex c4 = c1 - c2;
Complex c5 = c1 * c2;
Complex c6 = c1 / c2;
c1.print(); // 输出:3 + 2i
c2.print(); // 输出:1 - 1i
c3.print(); // 输出:4 + 1i
c4.print(); // 输出:2 + 3i
c5.print(); // 输出:5 + 1i
c6.print(); // 输出:2.5 + 2.5i
return 0;
}
```
在此代码中,我们定义了一个 `Complex` 类,它包含两个成员变量 `real` 和 `imag`,分别表示复数的实部和虚部。然后我们重载了 `+`、`-`、`*` 和 `/` 运算符,分别实现了复数的加、减、乘、除运算。最后在 `main` 函数中,我们定义了两个复数 `c1` 和 `c2`,并对它们进行加、减、乘、除运算,并输出结果。