用C++设计一个复数类并实现复数的三种运算。
时间: 2024-02-13 10:05:49 浏览: 85
fushu.rar_Complex_H.R.H._class Complex_complex c_复数运算
好的,下面是一个以 C++ 实现复数类的例子:
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real, imag;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}
// 加法运算
Complex operator + (const Complex &c) {
return Complex(real + c.real, imag + c.imag);
}
// 减法运算
Complex operator - (const Complex &c) {
return Complex(real - c.real, imag - c.imag);
}
// 乘法运算
Complex operator * (const Complex &c) {
return Complex(real * c.real - imag * c.imag, real * c.imag + imag * c.real);
}
// 打印复数
void print() {
cout << real << " + " << imag << "i" << endl;
}
};
int main() {
Complex a(1.0, 2.0);
Complex b(3.0, 4.0);
Complex c;
c = a + b;
cout << "a + b = ";
c.print();
c = a - b;
cout << "a - b = ";
c.print();
c = a * b;
cout << "a * b = ";
c.print();
return 0;
}
```
在这个例子中,我们定义了一个复数类 `Complex`,包含私有成员变量 `real` 和 `imag` 分别表示复数的实部和虚部,以及公有成员函数实现复数的加、减、乘运算。其中,加、减、乘运算都是通过重载运算符实现的,即 `+`、`-`、`*` 运算符。我们还定义了一个 `print` 函数,用于将复数输出到控制台上。
在 `main` 函数中,我们创建了两个复数 `a` 和 `b`,并分别赋值为 `(1.0, 2.0)` 和 `(3.0, 4.0)`。然后我们使用 `c` 变量来存储复数的结果,并输出到控制台上。
阅读全文