第十二周项目2:实现复数类中的运算符重载(1)
来源:互联网 发布:js 所有input不可编辑 编辑:程序博客网 时间:2024/06/06 13:07
问题及代码:
/*Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:崔青青 *完成日期:2016年5月18日 *版 本 号:v1.0 *问题描述:实现复数类中的运算符重载。*输入描述: *输出描述: */ #include <iostream>using namespace std;class Complex{public: Complex(){real=0;image=0;} Complex(double r,double i){real=r;image=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 image;};Complex Complex::operator+(const Complex &c2){ Complex c; c.real=real+c2.real; c.image=image+c2.image; return c;}Complex Complex::operator-(const Complex &c2){ Complex c; c.real=real-c2.real; c.image=image-c2.image; return c;}Complex Complex::operator*(const Complex &c2){ Complex c; c.real=real*c2.real; c.image=image*c2.image; return c;}Complex Complex::operator/(const Complex &c2){ Complex c; c.real=real/c2.real; c.image=image/c2.image; return c;} void Complex::display() { cout<<"("<<real<<" "<<image<<")"<<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;}
运行结果:
知识点总结:
运算符冲在过程中返回的是Complex类,一开始我写的是int型,怎么做都不对,应该记住返回的是Complex类。
学习心得:
运算符重载可以提高程序效率。
0 0
- 第十二周上机实践项目-项目1-(2)-实现复数类中的运算符重载
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (2)
- 第十二周项目1-实现复数类中的运算符重载(2)
- 第十二周项目2:实现复数类中的运算符重载(1)
- 第十二周项目1-实现复数类中的运算符重载——2
- 第十二周项目1-实现复数类中的运算符重载——2
- 第十二周上机实践项目1(2):实现复数类中的运算符重载
- 第十二周项目1-实现复数类中的运算符重载(2)
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载(1)
- 第十二周上机实践项目-项目1-实现复数类中的运算符重载
- 第十二周上机实践项目-项目1-3-实现复数类中的运算符重载
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (3)
- 第十二周项目一实现复数中的运算符重载
- 第十二周项目2:实现复数类中的运算符重载(2)
- 第十二周项目1-实现复数类中的运算符重载(1)
- 第十二周项目1-实现复数类中的运算符重载(1)
- 第十二周项目1-实现复数类中的运算符重载——1
- 第十二周项目1实现复数类中的运算符重载1
- 奋斗吧,程序员——第三十九章 人生不失意,焉能慕知己
- 在Linux终端中使用tree命令
- mac电脑使用
- Android Canvas类的应用
- springmvc自动转前台传来的时间数据
- 第十二周项目2:实现复数类中的运算符重载(1)
- LNMP(linux+nginx+mysql+php)服务器环境配置
- mvn odbc14 ojdbc6 打包问题
- 最简单的基于FFmpeg的移动端例子:IOS 推流器
- 个人助记
- SUN(oracle)存储配置界面
- 微信公众号开发原始初学版---php
- 详谈String类
- Swift-自定义控件之IndicatorButton(带动画的按钮)