用c++定义一个复数类Complex,数据成员包含real(实部)、image(虚部),定义构造函数,定义成员函数add和multiply来进行两个复数的加法和乘法运算。定义成员函数printComplex输出结果。 注意:输出中当实部或虚部为0时,仅输出非0部分;实部虚部均为0时,输出0。数据保证复数的实部虚部都在int范围内。
时间: 2024-02-13 10:02:26 浏览: 108
好的,以下是实现这个复数类的代码:
```c++
#include <iostream>
using namespace std;
class Complex {
private:
int real; // 实部
int image; // 虚部
public:
Complex(int r = 0, int i = 0) : 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 << 0;
} else if (real == 0) {
cout << image << "i";
} else if (image == 0) {
cout << real;
} else {
cout << real << "+" << image << "i";
}
}
};
int main() {
Complex c1(2, 3);
Complex c2(4, -5);
Complex c3 = c1.add(c2);
Complex c4 = c1.multiply(c2);
c3.printComplex(); // 输出:6-2i
cout << endl;
c4.printComplex(); // 输出:23+2i
return 0;
}
```
在这个代码中,我们定义了一个类Complex,包含了实部(real)和虚部(image)两个私有成员变量,以及构造函数,add和multiply成员函数,和printComplex成员函数。我们通过构造函数初始化实部和虚部的值,add和multiply成员函数分别对两个复数进行加法和乘法操作,printComplex成员函数用于输出结果。
在主函数中,我们创建了两个复数对象c1和c2,并通过add和multiply成员函数,对它们进行加法和乘法运算,然后通过printComplex成员函数输出结果。