第十二周实践项目1-实现复数类中的运算符重载
2016-05-18 21:45
260 查看
问题及代码:
运行结果:
![](http://img.blog.csdn.net/20160518214349761)
知识点总结:
从这个程序中,我们可以学习到运算符重载的用法。体会对象之间的相加相减相乘相除,较为形象的表示出。
学习心得:
刚开始没有生命display函数,导致主函数中的c1.display()无法实现。
/* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All right reserved. *文件名称:77.cpp *作 者:董凯琦 *完成日期:2016年5月18日 *版 本 号:v1.0 * *问题描述:请用类的成员函数,定义复数类重载运算符+、-、*、/,使之能用于复数的加减乘除 *输入描述: *程序输出: */ #include <iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator+(const Complex &c2); Complex operator-(const Complex &c2); Complex operator*(const Complex &c2); Complex operator/(const Complex &c2); void display(); private: double real; double imag; }; Complex Complex::operator+(const Complex &c2) { return Complex(real+c2.real,imag+c2.imag); } Complex Complex::operator-(const Complex &c2) { return Complex(real-c2.real,imag-c2.imag); } Complex Complex::operator*(const Complex &c2) { return Complex(real*c2.real,imag*c2.imag); } Complex Complex::operator/(const Complex &c2) { return Complex(real/c2.real,imag/c2.imag); } void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } int main() { Complex c1(3,4),c2(5,-10),c3; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); c3=c1+c2; cout<<"c1+c2="; c3.display(); c3=c1-c2; cout<<"c1-c2="; c3.display(); c3=c1*c2; cout<<"c1*c2="; c3.display(); c3=c1/c2; cout<<"c1/c2="; c3.display(); return 0; }
运行结果:
知识点总结:
从这个程序中,我们可以学习到运算符重载的用法。体会对象之间的相加相减相乘相除,较为形象的表示出。
学习心得:
刚开始没有生命display函数,导致主函数中的c1.display()无法实现。
相关文章推荐
- win2003 iis .net4.0 迁移至win2008 iis 7.5的问题
- 多态性与虚函数2
- zabbix3.0.2 使用percona mysql插件来监控mysql5.7的详细实现过程
- 亚信的实习的一到笔试题,交换链表的后半部分
- 微软CRT的研究
- 又见链表
- 2.3.第八个实验--使用38译码器驱动数码管
- 在docker中制作自己的JDK+tomcat镜像
- 记住用户名和密码
- 燃尽图
- XMPP环境搭建
- PHP AJAX 返回XML数据
- Javaweb文件的上传与下载
- PHP提高工作效率的工具类
- 第七周项目:成员函数、友元函数和一般函数有区别
- MVC的简单层级结构
- 应用程序安装卸载监听-BroadcastRecevier
- APP开发实战26-HTTP消息
- springmvc笔记(1)
- slots - Python的结构体 转