复 数 的 运 算 法 则
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【复数的四则运算(C++)】
------------------------------------------------------------------------------------------------------
**复数x被定义为二元有序实数对(a,b),记为z=a+bi,这里a和b是实数,i是虚数单位。
**在复数a+bi中,a=Re(z)称为实部,b=Im(z)称为虚部。当虚部等于零时,这个复数可以视为实数;
**当z的虚部不等于零时,实部等于零时,常称z为纯虚数。
**复数的四则运算规定为:
**加法法则:(a+bi)+(c+di)=(a+c)+(b+d)i;
**减法法则:(a+bi)-(c+di)=(a-c)+(b-d)i;
**乘法法则:(a+bi)·(c+di)=(ac-bd)+(bc+ad)i;
**除法法则:(a+bi)÷(c+di)=[(ac+bd)-(c2+d2)]+[(bc-ad)-(c2+d2)]i.
**当复数的实部和虚部都相等时,两个复数相等
**只有当复数的虚部等于零的时候两个复数才可以比较大小
------------------------------------------------------------------------------------------------------
C++代码:
-------------------------------------------头文件-----------------------------------------------------
#?ifndef?__COMPLEX_H__?
#?define?__COMPLEX_H__
#?define?_CRT_SECURE_NO_WARNINGS?1
#?include?iostream
#?include?stdlib.h
using?namespace?std;
--声明复数类
class?Complex
public:
voidComplex::Print();
public:
Complex(doublereal,doublep_w_picpath); Complex(constComplexZ);
~Complex();
boolComplex::operator(constComplexZ); boolComplex::operator(constComplexZ); boolComplex::operator==(constComplexZ); public:
ComplexComplexAdd(constComplexZ); ComplexComplexSub(constComplexZ); ComplexComplexMul(constComplexZ); ComplexComplexDiv(constComplexZ);
private:
double_real;
double_p_w_picpath;
#?endif?--__COMPLEX_H__
----------------------------------------------函数---------------------------------------------------- #?include?"Complex.h"
--打印函数
void?Complex::Print()
if(!this-_p_w_picpath)
if(!this-_real)
cout0endl;
coutthis-_realendl;
elseif(!this-_real)
coutthis-_p_w_picpath'i'endl;
if(this-_p_w_picpath0)
coutthis-_realthis-_p_w_picpath'i'endl;
coutthis-_real'+'this-_p_w_picpath'i'endl;
--构造函数
Complex::Complex(double?real,?double?p_w_picpath)
_real=real;
_p_w_picpath=p_w_picpath;
--拷贝构造函数
Complex::Complex(const?Complex?Z)
_real=Z._real;
_p_w_picpath=Z._p_w_picpath;
--析构函数
Complex::~Complex()
--这里的析构函数不需要做任何操作
--操作符重载
-*小于*-
bool?Complex::operator?(const?Complex?Z)
if(!this-_p_w_picpath!Z._p_w_picpath)
if(this-_realZ._real)
returntrue;
returnfalse;
-*大于*-
bool?Complex::operator?(const?Complex?Z)
if(!this-_p_w_picpath!Z._p_w_picpath)
if(this-_realZ._real)
returntrue;
returnfalse;
-*等于*-
bool?Complex::operator==?(const?Complex?Z)