定义一个复数类Complex,数据成员包含real(实部)、image(虚部),定义构造函数,定义成员函数add和multiply来进行两个复数的加法和乘法运算。定义普通函数printComplex输出结果。 注意:输出中当实部或虚部为0时,仅输出非0部分;实部虚部均为0时,输出0。数据保证复数的实部虚部都在int范围内。
时间: 2024-02-13 22:02:26 浏览: 86
定义一个名为complex 的复数类,其属性数据为复数的实部和虚部,要求构造函数和拷贝构造函数,并能打印复数的值
5星 · 资源好评率100%
好的,以下是复数类Complex的定义和相关函数的实现:
```c++
#include <iostream>
using namespace std;
class Complex {
private:
int real; // 实部
int image; // 虚部
public:
// 构造函数
Complex(int r, int i) {
real = r;
image = i;
}
// 加法运算
Complex add(Complex c) {
int r = real + c.real;
int i = image + c.image;
return Complex(r, i);
}
// 乘法运算
Complex multiply(Complex c) {
int r = real * c.real - image * c.image;
int i = real * c.image + image * c.real;
return Complex(r, i);
}
// 输出复数
void printComplex() {
if (real != 0 && image != 0) {
cout << real;
if (image > 0) cout << '+';
cout << image << 'i' << endl;
} else if (real != 0) {
cout << real << endl;
} else if (image != 0) {
cout << image << 'i' << endl;
} else {
cout << 0 << endl;
}
}
};
int main() {
Complex c1(2, 3);
Complex c2(4, -5);
Complex c3 = c1.add(c2);
c3.printComplex(); // 输出 6-2i
Complex c4 = c1.multiply(c2);
c4.printComplex(); // 输出 23-2i
return 0;
}
```
输出结果:
```
6-2i
23-2i
```
阅读全文