已知一个名为Complex的复数类,这个类包含: (1)私有成员:实部、虚部,且均为int 型 (2)公有的带默认形参值的构造函数、复制构造函数 (3)公有成员函数Display,其作用为显示复数 要求: (1)实现满足上述属性和行为的Complex类定义; (2)设计函数AddComplex,函数AddComplex功能为实现两个复数相加,要求该函数的形参为复数类的常引用; (3)保证如下主函数能正确运行。 裁判测试程序样例: /* 请在这里填写答案 */ int main(){ int x,y; cin>>x>>y; Complex c0(x,y); Complex c1(c0); cout<<"c1 is: "; c1.Display(); cin>>x>>y; Complex c2(x,y); cout<<"c2 is: "; c2.Display(); Complex c3; c3 = AddComplex(c1,c2); cout<<"c3 is: "; c3.Display(); return 0; } 输入样例: 在这里给出一组输入。例如: 2 -3 3 4 输出样例: 在这里给出相应的输出。例如: c1 is: 2-3i c2 is: 3+4i c3 is: 5+1i
时间: 2023-04-08 20:03:17 浏览: 323
定义一个名为complex 的复数类,其属性数据为复数的实部和虚部,要求构造函数和拷贝构造函数,并能打印复数的值
5星 · 资源好评率100%
以下是Complex类的定义和AddComplex函数的实现:
```
#include <iostream>
using namespace std;
class Complex {
private:
int real;
int imag;
public:
Complex(int r = 0, int i = 0) : real(r), imag(i) {}
Complex(const Complex& c) : real(c.real), imag(c.imag) {}
void Display() const {
cout << real << (imag >= 0 ? "+" : "") << imag << "i" << endl;
}
friend Complex AddComplex(const Complex& c1, const Complex& c2);
};
Complex AddComplex(const Complex& c1, const Complex& c2) {
Complex res(c1.real + c2.real, c1.imag + c2.imag);
return res;
}
```
在主函数中,先输入两个整数作为第一个复数的实部和虚部,然后用这两个数构造一个Complex对象c0。接着用c0构造一个新的Complex对象c1,并输出c1。再输入两个整数作为第二个复数的实部和虚部,用这两个数构造一个Complex对象c2,并输出c2。最后调用AddComplex函数计算c1和c2的和,将结果赋值给一个新的Complex对象c3,并输出c3。
完整的主函数代码如下:
```
int main() {
int x, y;
cin >> x >> y;
Complex c0(x, y);
Complex c1(c0);
cout << "c1 is: ";
c1.Display();
cin >> x >> y;
Complex c2(x, y);
cout << "c2 is: ";
c2.Display();
Complex c3;
c3 = AddComplex(c1, c2);
cout << "c3 is: ";
c3.Display();
return 0;
}
```
输入样例:
```
2 -3
3 4
```
输出样例:
```
c1 is: 2-3i
c2 is: 3+4i
c3 is: 5+1i
```
阅读全文