📄 complex.h
字号:
#ifndef COMPLEX_H
#define COMPLEX_H
/************************************************************************/
/* 这里要定义一个复数类 服务于FFT变换 由于是独立的一个类 也可以用于其它用途
所有功能均在此头文件里 冯启航 2008-3-18 */
/************************************************************************/
#include <iostream.h>
typedef double DATATYPE;
class Complex//定义一个复数类
{
public:
DATATYPE m_real;
DATATYPE m_img;
public:
Complex()
{
m_real = (DATATYPE)0 ;
m_img = (DATATYPE) 0;
}
Complex(DATATYPE real,DATATYPE img)
{
m_img = img;
m_real = real;
}
Complex& operator=(const Complex &plex)
{
m_real = plex.m_real;
m_img = plex.m_img;
return *this;
}
Complex& operator/=(int &d)
{
m_real /=d;
m_img /= d;
return *this;
}
Complex& operator*=(int &d)
{
m_real *=d;
m_img *= d;
return *this;
}
Complex& operator+=(const Complex &plex)
{
m_real += plex.m_real;
m_img += plex.m_img;
return *this;
}
};
//复数类的几个操作符重载函数
const Complex operator*(const Complex plex1,const Complex plex2)
{
Complex l_result;
l_result.m_real = plex1.m_real * plex2.m_real - plex1.m_img * plex2.m_img;
l_result.m_img = plex1.m_real * plex2.m_img + plex1.m_img * plex2.m_real;
return l_result;
}
const Complex operator+(const Complex plex1,const Complex plex2)
{
Complex l_result;
l_result.m_real = plex1.m_real + plex2.m_real;
l_result.m_img = plex1.m_img + plex2.m_img;
return l_result;
}
const Complex operator-(const Complex plex1,const Complex plex2)
{
Complex l_result;
l_result.m_real = plex1.m_real - plex2.m_real;
l_result.m_img = plex1.m_img - plex2.m_img;
return l_result;
}
ostream& operator<<(ostream& _OStr, const Complex& rhs)
{
_OStr<<rhs.m_real<<"+"<<rhs.m_img<<"j ";
return _OStr;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -