2014-第九周项目一----<<,>>的运算符重载
2014-04-22 14:27
302 查看
/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:刘晓晓 *完成日期:2014年 04月22号 *版本号: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+(Complex &c2); Complex operator-(Complex &c2); Complex operator*(Complex &c2); Complex operator/(Complex &c2); friend ostream&operator<<(ostream&,Complex&); friend istream&operator>>(istream&,Complex&); Complex operator-(); void display(); private: double real; double imag; }; ostream&operator<<(ostream& output,Complex&c) { output<<"("<<c.real<<"+"<<c.imag<<"i"; return output; } istream&operator>>(istream&input,Complex&c) { cout<<"input real and imag part of Complex number:"; input>>c.real>>c.imag; return input; } Complex Complex::operator-() { Complex c; c.real=-real; c.imag=-imag; return c; } //下面定义成员函数 void Complex:: display() { cout<<"("<<real<<","<<imag<<"i)"<<endl; } Complex Complex ::operator+(Complex &c2) { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } Complex Complex ::operator-(Complex &c2) { Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c; } Complex Complex:: operator*(Complex &c2) { Complex c; c.real=real*c2.real-imag*c2.imag; c.imag=imag*c2.real+real*c2.imag; return c; } Complex Complex ::operator/(Complex &c2) { Complex c; //复数相除:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c; } //下面定义用于测试的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(); c3=-c1; cout<<"-c1="; c3.display(); return 0; }
相关文章推荐
- 2014微软编程之美初赛第一场第二题 树
- Android创建快捷方式,Phonegap创建快捷方式
- 转 FileStream Read File
- 计算彩色的BGR图像的直方图
- 编程杂项
- 小盆友 为什么你总是做不好营销?
- 10个核心的Linux面试问题与答案
- MongoDb 结果漂亮点!
- [Android学习笔记]Bitmap,BitmapDrawable,BitmapFactory学习笔记
- filestream read方法 循环读取固定文件
- /sys 下的目录结构
- android学习笔记---fragment适配手机和平板
- Cassandra与HBase的大数据对决 谁是胜者?
- 第九周-项目一运算符重载
- msi
- Android中的ID能否重名
- 关于指针数组和数组指针的浅谈
- activemq报EOFExceptionjvm错误
- wxPython 2.6.2.1在 redhat上 安装
- 阿里巴巴面试过程及总结