📄 comp.h
字号:
#ifndef _INC_COMPLEOP
#define _INC_COMPLEOP
#include <math.h>
#ifndef PI
#define PI 3.1415926535897
#define MAXORDER 1000
#endif
class comp
{
public:
double x;
double y;
comp(){x=0;y=0;}
comp(double a){x=a;y=0;}
comp(double a,double b){x=a;y=b;}
comp operator=(comp a){x=a.x;y=a.y;return *this;}
comp operator=(double a){x=a;y=0.0;return *this;}
friend comp operator+(comp a, comp b)
{
comp c;
c.x=a.x+b.x;
c.y=a.y+b.y;
return c;
}
friend comp operator+(double a,comp b)
{
comp c;
c.x=a+b.x;
c.y=b.y;
return c;
}
friend comp operator+(comp a,double b)
{
comp c;
c.x=a.x+b;
c.y=a.y;
return c;
}
friend comp operator-(comp a, comp b){comp c;c.x=a.x-b.x;c.y=a.y-b.y;return c;}
friend comp operator-(double a,comp b){comp c;c.x=a-b.x;c.y=-b.y;return c;}
friend comp operator-(comp a,double b){comp c;c.x=a.x-b;c.y=a.y;return c;}
friend comp operator*(comp a, comp b){comp c;c.x=a.x*b.x-a.y*b.y;c.y=a.y*b.x+a.x*b.y;return c;}
friend comp operator*(double a,comp b){comp c;c.x=a*b.x;c.y=a*b.y;return c;}
friend comp operator*(comp a,double b){comp c;c.x=a.x*b;c.y=a.y*b;return c;}
friend comp operator/(comp a, comp b)
{
comp c;
double t;
c.x=0.0;
c.y=0.0;
t=b.x*b.x+b.y*b.y;
if(t==0)return c;
c.x=(a.x*b.x+a.y*b.y)/t;
c.y=(a.y*b.x-a.x*b.y)/t;
return c;
}
friend comp operator/(double a,comp b)
{
comp c;
double t;
c.x=0.0;
c.y=0.0;
t=b.x*b.x+b.y*b.y;
if(t==0)return c;
c.x=a*b.x/t;
c.y=-a*b.y/t;
return c;
}
friend comp operator/(comp a,double b)
{
comp c;
c.x=0.0;c.y=0.0;
if(b==0)
return c;
c.x=a.x/b;
c.y=a.y/b;
return c;
}
friend comp operator!(comp a)
{
comp c;
c.x=a.x;
c.y=-a.y;
return c;
}
friend short int operator==(comp a, comp b)
{
if((a.x==b.x)&&(a.y==b.y))
return 1;
else
return 0;
}
friend short int operator!=(comp a, comp b)
{
if((a.x==b.x)&&(a.y==b.y))
return 0;
else
return 1;
}
friend double cabs(comp a){return sqrt(a.x*a.x+a.y*a.y);}
friend double csqu(comp a){return(a.x*a.x+a.y*a.y);}
friend double imag(comp a){return a.y;}
friend double real(comp a){return a.x;}
friend double cpha(comp a)
{
return(atan2(a.y,a.x));
}
friend comp not(comp a)
{
comp c;
c.x=a.x;
c.y=-a.y;
return c;
}
friend comp exp(comp a)
{
comp c;
c.x=a.x*cos(a.y);
c.y=a.x*sin(a.y);
return c;
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -