题目描述 - 复数类 - 实部 虚部 - 重载复数加法操作 - 构造函数 - 打印结果 ### 题目要求 - 通过重载运算符`+`实现。 - 代码中执行加法时,需要通过类似`c = a + b`的进行复数的加法操作 - 符合复数的基本加法操作 ### 输入输出格式 #### 输入格式 测试数据组数 第一个数的实部与虚部 第二个数实部与虚部 #### 输出格式 结果的实部 虚部 (加号两侧有空格) #### 输入输出样例 ##### 输入样例 4 1 2 2 3 1 1 -1 -1 1 2 1 -2 1 2 -1 2 ##### 输出样例 3 + 5i 0 2 4i
时间: 2024-02-18 18:58:57 浏览: 142
下面是一个实现复数类的C++代码,可以实现上述要求:
```cpp
#include <iostream>
using namespace std;
class Complex {
double real, imag;
public:
Complex(double r = 0, double i = 0) : real(r), imag(i) {}
Complex operator+(const Complex& c) const {
return Complex(real + c.real, imag + c.imag);
}
void print() const {
cout << real << " " << imag << "i" << endl;
}
};
int main() {
int n;
cin >> n;
while (n--) {
double r1, i1, r2, i2;
cin >> r1 >> i1 >> r2 >> i2;
Complex c1(r1, i1), c2(r2, i2);
Complex res = c1 + c2;
res.print();
}
return 0;
}
```
输入格式:
- 第一行是一个整数,表示测试数据组数。
- 对于每组测试数据,有一行,包含四个实数,分别表示两个复数的实部和虚部。
输出格式:
- 对于每组测试数据,输出一行,包含两个实数,分别表示计算结果的实部和虚部,中间用空格隔开。
输入样例:
```
4
1 2 2 3
1 1 -1 -1
1 2 1 -2
1 2 -1 2
```
输出样例:
```
3 5
0 0
2 4
0 4
```
阅读全文