📄 complex1.cpp
字号:
#include<iostream.h>
#include<math.h>
#include"Complex.h"
Complex::Complex(double r1,double im)
{
real=r1;
imag=im;
}
/*int Complex::init(double r1,double im)
{
real=r1;
imag=im;
return 0;
}
*/
void Complex::display()
{
char sign;
if(imag<0) sign='-';
else sign='+';
cout<<real<<sign<<fabs(imag)<<'i'<<endl;
/*if(imag<0)
cout<<real<<"+(-"<<fabs(imag)<<")i"<<endl;
else
cout<<real<<"+"<<imag<<"i"<<endl;*/
return;
}
/*Complex addcomplex(Complex& a,Complex& b,int s)
{
Complex temp;
if(s==1)
{
temp.real=a.real+b.real;
temp.imag=a.imag+b.imag;
return temp;
}
else if(s==2)
{
temp.real=a.real-b.real;
temp.imag=a.imag-b.imag;
return temp;
}
else if(s==3)
{
temp.real=a.real*b.real-a.imag*b.imag;
temp.imag=a.real*b.imag+a.imag*b.real;
return temp;
}
else if(s==4)
{
if(b.real==0&&b.imag==0)
cout<<"输入的除数为0,输出的结果不正确"<<endl;
else
{
double div=b.real*b.real+b.imag*b.imag;
temp.real=(a.real*b.real+a.imag*b.imag)/div;
temp.imag=(a.imag*b.real-a.real*b.imag)/div;
return temp;
}
}
}*/
Complex operator + (Complex c1,Complex c2)
{
return Complex(c2.real+c1.real,c2.imag+c1.imag);
}
Complex operator - (Complex c1,Complex c2)
{
return Complex(c1.real-c2.real,c1.imag-c2.imag);
}
Complex operator*(Complex c1,Complex c2)
{
Complex temp;
temp.real=c1.real*c2.real-c1.imag*c2.imag;
temp.imag=c1.real*c2.imag+c1.imag*c2.real;
return temp;
}
Complex operator/(Complex c1,Complex c2)
{
Complex temp;
if(c2.real==0&&c2.imag==0)
cout<<"输入的除数为0,输出的结果不正确"<<endl;
else
{
double div=c2.real*c2.real+c2.imag*c2.imag;
temp.real=(c1.real*c2.real+c1.imag*c2.imag)/div;
temp.imag=(c1.imag*c2.real-c1.real*c2.imag)/div;
return temp;
}
}
Complex &Complex::operator+=(Complex c2)
{
*this=*this+c2;
return *this;
}
Complex &Complex::operator*=(Complex c2)
{
*this=*this*c2;
return *this;
/*Complex temp;
temp.real=this->real*c2.real-this->imag*c2.imag;
temp.imag=this->real*c2.imag+this->imag*c2.real;
this->real=temp.real;
this->imag=temp.imag;
return *this;*/
}
Complex& Complex::operator++()//++前置
{
//Complex temp=*this;
real++;
return *this;
//return temp;
}
ostream&operator<<(ostream&dest,Complex source)
//输出流重载
{
char sign='+';
if(source.imag<0)
sign='-';
dest<<source.real<<sign<<fabs(source.imag)<<'i';
dest<<endl;
return dest;
}
Complex Complex::operator ++(int)//++后置
{
Complex temp=*this;
real++;
return temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -