欢迎来到天天文库
浏览记录
ID:38412457
大小:19.53 KB
页数:3页
时间:2019-06-12
《Complex运算符重载实验实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验名称:Complex类的运算符重载姓名:XX学号:XXXXXXXXXX班级XXXXXXXX完成日期:20XX-X-XX实验目的:这个实验题目的主要目的是让同学们掌握c++运算符重载的用法过程描述:一、本实验中主要内容有创建一个Complex类,这个类需要完成的运算符重载有:(1)+:重载+,用来完成两个复数的加法;(2)-:重载-,用来完成两个复数的减法;(3)*:重载*,用来完成两个复数的乘法;(4)<<:重载<<,用来输出一个复数,输出的格式为(a+b*i),其中a为实部,b为虚部。二、本实验中1、首先定义一个
2、名为Complex的类,其友元函数有六个,包括前面提到的+,-,*,<<的重载,以及附加功能/和==的重载,具体如下:friendostream&operator<<(ostream&os,constComplex&obj);//输出重载函数friendComplexoperator+(constComplex&c1,constComplex&c2);//+运算符重载friendComplexoperator-(constComplex&c1,constComplex&c2);//-运算符重载friendComplex
3、operator*(constComplex&c1,constComplex&c2);//*运算符重载//附加功能friendComplexoperator/(constComplex&c1,constComplex&c2);///运算符重载friendbooloperator==(constComplex&c1,constComplex&c2);//==运算符重载2、其中数据成员有两个,分别为real(表示实部),img(表示虚部)。例:private:doublereal;doubleimg;3、而在public成
4、员中,有一个函数,如下:public:Complex(doubler=1,doublei=0){real=r,img=i;}};4、另外,函数的实现文件如下:Complexoperator+(constComplex&c1,constComplex&c2)//+运算符重载{Complextmp;tmp.real=c1.real+c2.real;tmp.img=c1.img+c2.img;returntmp;}Complexoperator-(constComplex&c1,constComplex&c2)//-运算符重
5、载{Complextmp;tmp.real=c1.real-c2.real;tmp.img=c1.img-c2.img;returntmp;}Complexoperator*(constComplex&c1,constComplex&c2)//*运算符重载{Complextmp;tmp.real=c1.real*c2.real-c1.img*c2.img;tmp.img=c1.img*c2.real+c1.real*c2.img;returntmp;}//附加功能/Complexoperator/(constCompl
6、ex&c1,constComplex&c2)///运算符的重载{Complextmp;tmp.real=(c1.real*c2.real+c1.img*c2.img)/(c2.real*c2.real+c2.img*c2.img);tmp.img=(c1.img*c2.real-c1.real*c2.img)/(c2.real*c2.real+c2.img*c2.img);returntmp;}//附加功能==booloperator==(constComplex&c1,constComplex&c2)//==运算符重
7、载{return(c1.real==c2.real)&&(c1.img==c2.img);}ostream&operator<<(ostream&os,constComplex&obj)//输出重载函数{os<<'('<8、);Complexb(2,3);Complexc(2,-3);然后进行加减乘除以及相等判断,如下:cout<<(a+b)<
8、);Complexb(2,3);Complexc(2,-3);然后进行加减乘除以及相等判断,如下:cout<<(a+b)<
此文档下载收益归作者所有