c++定义描述复数的结构体变量,并实现复数之间的加减运算和输入和输出
时间: 2024-09-18 21:04:29 浏览: 53
在C++中,我们可以定义一个结构体来表示复数,包含实部(real part)和虚部(imaginary part)。下面是一个简单的例子:
```cpp
#include <iostream>
// 定义复数结构体
struct Complex {
double real; // 实部
double imag; // 虚部
// 构造函数
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
};
// 加法运算
Complex operator+(const Complex& a, const Complex& b) {
return Complex(a.real + b.real, a.imag + b.imag);
}
// 减法运算
Complex operator-(const Complex& a, const Complex& b) {
return Complex(a.real - b.real, a.imag - b.imag);
}
// 打印复数
std::ostream& operator<<(std::ostream& os, const Complex& c) {
os << c.real << " + " << c.imag << "i"; // 'i' 表示虚部
return os;
}
int main() {
Complex num1(3, 4); // 创建复数 3 + 4i
Complex num2(1, -2); // 创建复数 1 - 2i
// 运算并打印结果
Complex sum = num1 + num2;
std::cout << "Sum: " << sum << "\n";
Complex diff = num1 - num2;
std::cout << "Difference: " << diff << "\n";
return 0;
}
```
在这个例子中,我们定义了一个`Complex`结构体,并实现了`+`和`-`运算符重载以及输出流`<<`运算符,使得可以方便地对复数进行加减操作和展示。
阅读全文