struct complexN//包含四种运算符的重载
{
double real;
double imagi;
complexN(double a,double b)
{
real=a;
imagi=b;
}
complexN()
{
real=0;
imagi=0;
}
complexN operator+ (complexN a)
{
complexN c;
c.real=real+a.real;
c.imagi=imagi+a.imagi;
return c;
}
complexN operator- (complexN a)
{
complexN c;
c.real=real-a.real;
c.imagi=imagi-a.imagi;
return c;
}
complexN operator* (complexN a)
{ complexN c;
c.real=real*a.real-imagi*a.imagi;
c.imagi=imagi*a.real+real*a.imagi;
return c;
}
complexN operator/ (complexN a)
{
complexN c;
c.real=(real*a.real+imagi*a.imagi)/(a.real*a.real+a.imagi*a.imagi);
c.imagi=(imagi*a.real-real*a.imagi)/(a.real*a.real+a.imagi*a.imagi);
return c;
}
bool operator!=(complexN a)
{
return this->real!=a.real||this->imagi!=a.imagi;
}
bool operator==(complexN a)
{
return this->real==a.real&&this->imagi==a.imagi;
}
bool operator>=(complexN a)
{
return this->real>=a.real&&this->imagi>=a.imagi;
}
bool operator<=(complexN a)
{
return this->real<=a.real&&this->imagi<=a.imagi;
}
complexN operator=(complexN a)
{
this->real=a.real;
this->imagi=a.imagi;
return *this;
}
};
结构体中的运算符重载(运算符和逻辑符)
最新推荐文章于 2024-01-17 11:02:47 发布