第12周项目——实现复数类中的运算符重载3
2016-05-19 08:38
429 查看
问题及代码:
运行结果:
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:李一波 * 完成日期:2016年5月19日 * 版本号:vc++6.0 * * 问题描述: 定义一个定义完整的类(是可以当作独立的产品发布,成为众多项目中的“基础工程”)。这样的类在(2)的基础上,扩展+、-、*、/运算符的功能,使之能与double型数据进行运算。设Complex c; double d; c+d和d+c的结果为“将d视为实部为d的复数同c相加”,其他-、*、/运算符类似 * 输入描述: * 程序输出: */ #include<iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r; imag=i;} friend Complex operator+(const Complex &c3,double d); friend Complex operator-(const Complex &c3,double d); friend Complex operator*(const Complex &c3,double d); friend Complex operator/(const Complex &c3,double d); void display(); private: double real; double imag; }; //下面定义成员函数 Complex operator+(const Complex &c3,double d) { Complex c; c.real=c3.real+d; c.imag=c3.imag; return c; } Complex operator-(const Complex &c3,double d) { Complex c; c.real=c3.real-d; c.imag=c3.imag; return c; } Complex operator*(const Complex &c3,double d) { Complex c; c.real=c3.real*d; c.imag=c3.real*d; return c; } Complex operator/(const Complex &c3,double d) { Complex c2(d,0); Complex c; c.real=(c3.real*c2.real+c3.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(c3.imag*c2.real-c3.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c; } void Complex::display() { cout<<"("<<real<<","<<imag<<")"<<endl; } //下面定义用于测试的main()函数 int main() { Complex c1(3,4),c3; double d=5; cout<<"c1="; c1.display(); c3=c1+d; cout<<"c1+d="; c3.display(); c3=c1-d; cout<<"c1-d="; c3.display(); c3=c1*d; cout<<"c1*d="; c3.display(); c3=c1/d; cout<<"c1/d="; c3.display(); return 0; }
运行结果:
相关文章推荐
- win8.1系统windows日记本文件中一个页面全变白怎么办?
- 第十周上机时间项目——项目1-点圆圆柱类族的设计
- 继承与派生阅读程序补充
- 第九周项目训练3
- 谷歌着手建设智能生态圈
- 存储班长信息的学生类(2)
- 存储班长信息的学生类(2)
- 存储班长信息的学生类(2)
- 存储班长信息的学生类(2)
- 存储班长信息的学生类(2)
- 第十一周上机实践项目1(1):点-圆-圆柱类族的设计
- Discuz! 的编码规范
- Android问题一:You need to use a Theme.AppCompat theme (or descendant) with this activity.
- win7系统kb3035583补丁无法卸载解决方法
- ubuntu14.04.1 安装配置jdk1.7
- 用对象数组操作长方柱类
- 第十一周【补充项目1 - 是春哥啊】
- javascript实现打印html制定区域同时消除header/footer区域
- 02.LoT.UI 前后台通用框架分解系列之——灵活的菜单栏
- 快速排序算法