已知一个名为Complex的复数类,这个类包含: (1)私有成员:实部、虚部,且均为int 型 (2)公有的带默认形参值的构造函数、复制构造函数 (3)公有成员函数Display,其作用为显示复数 要求: (1)实现满足上述属性和行为的Complex类定义; (2)设计函数AddComplex,函数AddComplex功能为实现两个复数相加,要求该函数的形参为复数类的常引用; (3)保证如下主函数能正确运行。
时间: 2024-03-25 16:41:19 浏览: 67
好的,我知道你的问题了。下面是符合要求的Complex类的定义和AddComplex函数的实现:
```c++
#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() {
if (imag < 0) {
cout << real << imag << "i" << endl;
}
else {
cout << real << "+" << imag << "i" << endl;
}
}
friend Complex AddComplex(const Complex& c1, const Complex& c2);
};
Complex AddComplex(const Complex& c1, const Complex& c2) {
Complex c;
c.real = c1.real + c2.real;
c.imag = c1.imag + c2.imag;
return c;
}
int main() {
Complex c1(1, 2);
Complex c2(3, -4);
Complex c3 = AddComplex(c1, c2);
c1.Display();
c2.Display();
c3.Display();
return 0;
}
```
在上述代码中,AddComplex函数是一个友元函数,它的形参是两个常引用,返回值是一个Complex类型的变量,表示两个复数相加的结果。在主函数中,分别定义了两个复数c1和c2,并调用AddComplex函数将它们相加得到结果c3,最后依次输出三个复数的值。
阅读全文