C++中的复数类.docx

收藏

预览图
编号:52372747    类型:共享资源    大小:21.36KB    格式:DOCX    上传时间:2020-02-28 上传人:!** IP属地:江苏
30
积分
关 键 词:
C++ 中的 复数
资源描述:
C++中的复数类 //类的定义(mycomplex.h) #include #ifndef mycomplex_h #define mycomplex_h class complex { private: float real; float image; public: complex(float=0.0,float=0.0); //构造函数 complex(const complex &c); //拷贝构造函数 //以下为运算函数 complex add(const complex &c) const; //加运算 complex sub(const complex &c) const; //减运算 complex mul(const complex &c) const; //乘运算 complex div(const complex &c) const; //除运算 //以下为普通成员函数 float getreal(void) const; //获取实部 float getimage(void) const; //获取虚部 void setcomplex(float r,float i); //重新设定复数值 //以下为输出输入函数重载 friend ostream& operator<<(ostream& out,const complex& c); //输出重载 friend istream& operator>>(istream& in,complex& c); //输入重载 //以下为运算符重载 friend complex operator+(float r,const complex& c); // friend complex operator+(int r,const complex& c); friend complex operator-(float r,const complex& c); friend complex operator-(int r,const complex& c); friend complex operator*(float r,const complex& c); friend complex operator*(int r,const complex& c); friend complex operator+(const complex& c,float r); friend complex operator+(const complex& c,int r); friend complex operator-(const complex& c,float r); friend complex operator-(const complex& c,int r); friend complex operator*(const complex& c,float r); friend complex operator*(const complex& c,int r); friend complex operator/(float r,const complex& c); friend complex operator/(int r,const complex& c); friend complex operator/(const complex& c,float r); friend complex operator/(const complex& c,int r); friend complex operator+(const complex& c1,const complex& c2); friend complex operator-(const complex& c1,const complex& c2); friend complex operator*(const complex& c1,const complex& c2); friend complex operator/(const complex& c1,const complex& c2); }; //定义虚数单位ie const complex ie(0,1); #endif //类的实现(mycomplex.cpp) #include #include "mycomplex.h" //构造函数 complex::complex(float r,float i) { real=r; image=i; } //拷贝构造函数 complex::complex(const complex &c) { real=c.real; image=c.image; } //加运算 complex complex::add(const complex &c) const { complex t; t.real=real+c.real; t.image=image+c.image; return t; } //减运算 complex complex::sub(const complex &c) const { complex t; t.real=real-c.real; t.image=image-c.image; return t; } //乘运算 complex complex::mul(const complex &c) const { complex t; t.real=real*c.real-image*c.image; t.image=image*c.real+real*c.image; return t; } //除运算 complex complex::div(const complex &c) const { if(!(c.real||c.image)) { cout<<"分母不能为零"<0) out<>(istream& in,complex& c) { in>>c.real>>c.image; return in; } //以下为运算符重载 complex operator+(float r,const complex& c) { complex t; t.real=r+c.real; t.image=c.image; return t; } complex operator+(int r,const complex& c) { complex t; t.real=r+c.real; t.image=c.image; return t; } complex operator-(float r,const complex& c) { complex t; t.real=r-c.real; t.image=c.image; return t; } complex operator-(int r,const complex& c) { complex t; t.real=r-c.real; t.image=c.image; return t; } complex operator*(float r,const complex& c) { complex t; t.real=r*c.real; t.image=r*c.image; return t; } complex operator*(int r,const complex& c) { complex t; t.real=r*c.real; t.image=r*c.image; return t; } complex operator+(const complex& c,float r) { complex t; t.real=r+c.real; t.image=c.image; return t; } complex operator+(const complex& c,int r) { complex t; t.real=r+c.real; t.image=c.image; return t; } complex operator-(const complex& c,float r) { complex t; t.real=r-c.real; t.image=c.image; return t; } complex operator-(const complex& c,int r) { complex t; t.real=r-c.real; t.image=c.image; return t; } complex operator*(const complex& c,float r) { complex t; t.real=r*c.real; t.image=r*c.image; return t; } complex operator*(const complex& c,int r) { complex t; t.real=r*c.real; t.image=r*c.image; return t; } complex operator/(float r,const complex& c) { complex t(r,0); return t.div(c); } complex operator/(int r,const complex& c) { complex t((float)r,0); return t.div(c); } complex operator/(const complex& c,float r) { complex t; t.real=c.real/r; t.image=c.image/r; return t; } complex operator/(const complex& c,int r) { complex t; t.real=c.real/(float)r; t.image=c.image/(float)r; return t; } complex operator+(const complex& c1,const complex& c2) { return c1.add(c2); } complex operator-(const complex& c1,const complex& c2) { return c1.sub(c2); } complex operator*(const complex& c1,const complex& c2) { return c1.mul(c2); } complex operator/(const complex& c1,const complex& c2) { return c1.div(c2); } //类的测试(test.cpp) #include #include "mycomplex.h" int main() { //测试函数运算 complex c1,c2; c1.setcomplex(1,2); c2.setcomplex(2,3); cout<<"c1+c2="<>c3; cout<
内容简介:
-
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C++中的复数类.docx
链接地址:https://www.renrendoc.com/p-52372747.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!