第12周项目1—实现复数类的运算符重载 (1)
2016-05-26 08:24
351 查看
2.*Copyright(c) 2016.烟台大学计算机与控制工程学院 3.*ALL rights reserved. 4.*文件名称:main.cpp 5.*作者:孙亚茹 6.*完成日期:2016年5月26日 7.*问题描述:定义复数重载运算符+,-,*,/,使之用于复数的加减乘除。 8.*/ #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) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } Complex Complex::operator-(const Complex &c2) { Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } Complex Complex::operator*(const Complex &c2) { Complex c; c.real=real*c2.real; c.imag=imag*c2.imag; return c; } Complex Complex::operator/(const Complex &c2) { Complex c; c.real=real/c2.real; c.imag=imag/c2.imag; return c; } void Complex::display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } //下面定义用于测试的main()函数 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; }
总结:
构造函数也能有返回值。
相关文章推荐
- Docker月报
- 线程与进程的区别2(专业解释)
- yum clean all 是什么意思
- 第十三周项目—阅读程序,并运行结果(虚函数)
- 第十二周项目2—Time类中的运算符重载
- Linux 汇编语言开发指南
- Session_Start
- 课堂作业之找小水王
- Dispatcher介绍
- navicat 的查询功能
- 通用块层、IO调度层以及设备驱动层的数据结构
- 第十一周项目训练1
- 百度apistore开发实例
- Docker Machine 使用备忘
- oracle 绝对值小于1的数值显示小数点前面的0
- linux sort 命令详解
- C++初探:c和c++的区别简述,以及编译器对代码做了什么?
- perl 线程创健
- Codeforces Round #354 (Div. 2) A
- 抽象工厂模式-与-工厂方法模式区别