📄 ccn.h
字号:
#include "math.h"
class CCN
{
double r, i;
//复数的实部和虚部
public:
void set(double, double);//设定复数的值
double getr();//获得实部
double geti();//获得虚部
double getm();//获得复数的模
double geta();//获得复数的幅角
CCN operator+(CCN &);//运算符+重载为成员函数
CCN operator-(CCN &);//运算符-重载为成员函数
CCN operator*(CCN &);//运算符*重载为成员函数
CCN operator/(CCN &);//运算符/重载为成员函数
};
void CCN::set(double r, double i)
{
this->r = r;
this->i = i;
}
double CCN::getr()
{
return r;
}
double CCN::geti()
{
return i;
}
double CCN::getm()
{
return sqrt(r * r + i * i);
}
double CCN::geta()
{
return atan2(i,r);
}
CCN CCN::operator+(CCN &a)
{
CCN result;
result.r = this->r + a.r;
result.i = this->i + a.i;
return result;
}
CCN CCN::operator-(CCN &a)
{
CCN result;
result.r = this->r - a.r;
result.i = this->i - a.i;
return result;
}
CCN CCN::operator*(CCN &a)
{
CCN result;
result.r = this->r * a.r - this->i * a.i;
result.i = this->r * a.i + this->i * a.r;
return result;
}
CCN CCN::operator/(CCN &a)
{
CCN result;
double den;
den = a.r * a.r +a.i * a.i;
if(den)
{
result.r = (this->r * a.r + this->i * a.i) / den;
result.i = (this->i * a.r - this->r * a.i) / den;
}
else
{
result.r = result.i = 0;
}
return result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -