【问题描述】编写一个程序,声明复数的类Complex,使用友元函数add实现两个复数对象相加并返回相加后的复数对象。键盘上输入两个复数的实部和虚部,输出两个复数和它们的和。 【输入形式】 复数1实部 复数1虚部 复数2实部 复数2虚部 【输出形式】 复数1 复数2 复数1与复数2之和 【样例输入】 2 5 -6 -2 【样例输出】 2+5i -6-2i -4+3i 【样例说明】 【评分标准】
时间: 2023-11-29 07:06:19 浏览: 242
实现代码如下:
```cpp
#include <iostream>
using namespace std;
class Complex {
private:
double real; // 实部
double imag; // 虚部
public:
Complex(double r = 0, double i = 0) {
real = r;
imag = i;
}
friend Complex add(Complex c1, Complex c2); // 友元函数
void print() {
cout << real << (imag >= 0 ? "+" : "") << imag << "i";
}
};
Complex add(Complex c1, Complex c2) {
return Complex(c1.real + c2.real, c1.imag + c2.imag);
}
int main() {
double r1, i1, r2, i2;
cin >> r1 >> i1 >> r2 >> i2;
Complex c1(r1, i1), c2(r2, i2);
c1.print();
cout << "\t";
c2.print();
cout << "\t";
add(c1, c2).print();
cout << endl;
return 0;
}
```
输入样例:
```
2 5 -6 -2
```
输出样例:
```
2+5i -6-2i -4+3i
```
阅读全文