定义一个复数类Complex,重载运算符-+,40,使之能用于复数的加、乘,运算符重载西数作为Complex类的成员丽数。编气程序,分别求两个是数之和。乘积。 己知:Complex类为: class Complex { public: Complex(§real=0;imag=0;} Complex(double r,double i) {real=r;imag=i;} Complex operator+(Complex &c2); Complex operator* (Complex &c2); void display); private: double real; double imag; 当前编程语言为:C++
时间: 2024-03-22 11:37:24 浏览: 91
好的,我理解了你的问题。下面是实现要求的代码:
```cpp
#include<iostream>
using namespace std;
class Complex {
public:
Complex(double r=0, double i=0) {real=r; imag=i;}
Complex operator+(Complex &c2);
Complex operator*(Complex &c2);
void display();
private:
double real;
double imag;
};
Complex Complex::operator+(Complex &c2) {
Complex temp;
temp.real = real + c2.real;
temp.imag = imag + c2.imag;
return temp;
}
Complex Complex::operator*(Complex &c2) {
Complex temp;
temp.real = real * c2.real - imag * c2.imag;
temp.imag = real * c2.imag + imag * c2.real;
return temp;
}
void Complex::display() {
cout << real << "+" << imag << "i" << endl;
}
int main() {
Complex c1(1,2), c2(3,4), csum, cproduct;
csum = c1 + c2;
cproduct = c1 * c2;
csum.display();
cproduct.display();
return 0;
}
```
在上面的代码中,我们定义了一个Complex类,重载了运算符+和*。运算符+实现了复数的加法,运算符*实现了复数的乘法。我们还定义了一个display函数,用于输出复数的结果。
在main函数中,我们首先创建了两个Complex对象c1和c2,并分别赋初值。然后使用重载的+运算符求出了它们的和,使用重载的*运算符求出了它们的积,并将结果存储在csum和cproduct对象中。最后,我们调用display函数输出它们的和与积。
运行程序,输出结果如下:
```
4+6i
-5+10i
```
说明我们的程序实现了复数的加法和乘法。
阅读全文