📄 complex++--.cpp
字号:
#include<iostream.h>
#include<math.h>
class Complex
{
friend Complex operator+(Complex c1,Complex c2);
friend Complex operator-(Complex c1,Complex c2);
friend Complex operator*(Complex c1,Complex c2);
friend Complex operator/(Complex c1,Complex c2);
friend ostream &operator<<(ostream & dest,Complex source);
public:
Complex(double=0,double=0);
//Complex(){}
void display();
Complex& operator+=(Complex a);
Complex& operator-=(Complex a);
Complex& operator++();
Complex operator++(int);
Complex& operator--();
Complex operator--(int);
Complex& operator=(const Complex c1);
private:
double real;
double image;
};
Complex::Complex(double r1,double im)
{
real=r1;
image=im;
}
Complex operator+(Complex c1,Complex c2)
{
return Complex(c1.real+c2.real,c1.image+c2.image);
}
Complex operator-(Complex c1,Complex c2)
{
return Complex(c1.real-c2.real,c1.image-c2.image);
}
Complex operator*(Complex c1,Complex c2)
{
return Complex(c1.real*c2.real-c1.image*c2.image,c1.real*c2.image+c1.image*c2.real);
}
Complex operator/(Complex c1,Complex c2)
{
Complex temp ;
double c;
c=c2.real*c2.real+c2.image*c2.image;
c2.image=-c2.image;
temp=c1*c2;
temp.real/=c;
temp.image/=c;
return temp;
}
inline Complex & Complex::operator+=(Complex a)
{
*this=*this+a;
return *this;
}
inline Complex & Complex::operator-=(Complex a)
{
*this=*this-a;
return *this;
}
ostream &operator<<(ostream & dest,Complex source)
{
char sign='+';
if(source.image<0)
sign='-';
dest<<" "<<source.real<<sign<<fabs(source.image)<<"i";
dest<<endl;
return dest;
}
Complex &Complex::operator++()
{
real++;
image++;
return *this;
}
Complex Complex::operator++(int)
{
Complex temp=*this;
real++;
image++;
return temp;
}
Complex &Complex::operator--()
{
real--;
image--;
return *this;
}
Complex Complex::operator--(int)
{
Complex temp=*this;
real--;
image--;
return temp;
}
Complex& Complex::operator=( const Complex c1)
{
if(this==&c1)
return *this;
else
this->real=c1.real;
this->image=c1.image;
return *this;
}
void Complex::display()
{
char sign='+';
if(image<0)
sign='-';
cout<<real<<sign<<fabs(image)<<"i";
}
void main()
{
double x,y,x1,y1;
double x2,y2,x3,y3;
cout<<"输入四个复数的实部和虚部"<<endl;
cin>>x>>y>>x1>>y1>>x2>>y2>>x3>>y3;
Complex a(x,y),b(x1,y1),c,d,e,f;
Complex g(x2,y2),h(x3,y3);
Complex i,j,k,l,m;
cout<<"\nThe first complex a number is ";
cout<<a<<endl;
cout<<"\nThe second complex b number is ";
cout<<b<<endl;
cout<<"\nThe third complex g number is ";
cout<<g<<endl;
cout<<"\nThe forth complex h number is ";
cout<<h<<endl;;
c=a+b;
cout<<"\nThe sum is ";
cout<<c<<endl;
d=a-b;
cout<<"\nThe sub is ";
cout<<d<<endl;
e=a*b;
cout<<"\nThe mul is ";
cout<<e<<endl;
f=a/b;
cout<<"\nThe div is ";
cout<<f<<endl;
g+=2;
cout<<"\nThe g+=a is";
cout<<g<<endl;
h-=2;
cout<<"\nThe h-=a is";
cout<<h<<endl;
i=g++;
cout<<"\nThe g++ is";
cout<<i<<endl;
j=++g;
cout<<"\nThe ++g is";
cout<<j<<endl;
k=h--;
cout<<"\nThe h-- is";
cout<<k<<endl;
l=--h;
cout<<"\nThe --h is";
cout<<l<<endl;
m=a;
cout<<"\nThe m=a is";
cout<<m<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -