#include<iostream>
using namespace std;
class Complex
{
public:
Complex() { Real=0;Image=0;}
Complex(double r,double i) { Real=r;Image=i;}
void Show()
{ cout <<"("<<Real<<","<<Image<<")"<<endl;}
Complex operator *(Complex &c2)
{ double r=Real * c2.Real - Image * c2.Image;
double i=Image*c2.Real +Real* c2.Image;
return Complex(r,i);
}
Complex operator /(Complex &c)
{
double r =(Real *c.Real+ Image * c.Image)/(c.Real*c.Real+ c.Image * c.Image);
double i= (Image *c.Real - Real * c.Image)/(c.Real*c.Real+ c.Image * c.Image);
return Complex(r,i);
}
private:
double Real;
double Image;
};
int main()
{ Complex c1(3,4),c2(1,2),c3;
cout<<"c1="; c1.Show();
cout<<"c2="; c2.Show();
c3=c1*c2;
cout<<"c3=c1*c2=";c3.Show();
c3=c1/c2;
cout<<"c3=c1/c2=";c3.Show();
} 在这里插入代码片
31.重载运算符“*”,“/”,完成两个复数的乘除运算。
于 2020-05-27 16:52:41 首次发布