第九周项目一:Complex类
来源:互联网 发布:python股票数据分析 编辑:程序博客网 时间:2024/06/06 16:33
/** Copyright (c) 2012, 烟台大学计算机学院* All rights reserved.* 作 者:李巧丽* 完成日期:2013 年 5 月 7 日* 版 本 号:v1.0* 输入描述:* 问题描述:定义Complex类中的<<和>>运算符的重载,实现输入和输出, 改造原程序中对运算结果显示方式,使程序读起来更自然。* 程序输出:* 问题分析:* 算法设计:略*/#include <iostream>#include <Cstring>using namespace std;class Complex{public: Complex( ){real=0;imag=0;} //Complex(double r,double i){real=r;imag=i;} friend Complex operator+(Complex &c1,Complex &c2); friend Complex operator-(Complex &c1,Complex &c2); friend Complex operator*(Complex &c1,Complex &c2); friend Complex operator/(Complex &c1,Complex &c2); friend istream& operator>>(istream &cin,Complex&c); friend ostream& operator<<(ostream &cout,Complex&c);private: double real; double imag;};Complex operator+(Complex &c1,Complex &c2){ Complex c; c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag; return c;}Complex operator-(Complex &c1,Complex &c2){ Complex c; c.real=c1.real-c2.real; c.imag=c1.imag-c2.imag; return c;}Complex operator*(Complex &c1,Complex &c2){ Complex c; c.real=c1.real*c2.real-c1.imag*c2.imag; c.imag=c1.imag*c2.real+c1.real*c2.imag; return c;}Complex operator/(Complex &c1,Complex &c2){ Complex c; c.real=(c1.real/c2.real+c1.imag/c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); c.imag=(c1.imag/c2.real-c1.real/c2.imag)/(c2.real*c2.real+c2.imag*c2.imag); return c;}istream & operator>>(istream&cin,Complex&c){ cout<<"请输入复数的实部与虚部"<<endl; cin>>c.real>>c.imag; return cin;}ostream & operator<<(ostream &cout,Complex&c){ cout<<"("; cout<<c.real; cout<<","<<c.imag<<"i)"<<endl; return cout;}int main( ){ Complex c1,c2,c3; cin>>c1>>c2; cout<<c1<<c2<<endl; c3=c1+c2; cout<<"c1+c2="<<c3<<endl; c3=c1-c2; cout<<"c1-c2="<<c3<<endl; c3=c1*c2; cout<<"c1*c2="<<c3<<endl; c3=c1/c2; cout<<"c1/c2="<<c3<<endl; return 0;}
运行结果:
- 第九周项目一:Complex类
- 第九周项目1:Complex类
- 项目1-Complex类(第九周)
- 第九周--项目1-Complex类
- 第九周项目一——Complex类(利用输入输出运算符重载)
- 第九周上机任务项目1-Complex类
- 第九周任务一:Complex类的扩展
- 第9周项目一:Complex 类
- 第9周项目一-Complex类
- 第九周 项目1--定义一目运算符-和Complex中的<< >>的重载
- 第九周 1-1 定义COMPLEX类
- 第九周任务一之Complex类流运算符的重载
- 第九周任务一:定义Complex类中的<<和>>运算符的重载
- 第九周实验报告(任务一)【Complex类中《和》运算符的重载】
- 第九周项目一
- 第九周项目一
- 第九周 项目一
- 第九周项目一
- 第九周一元一次方程重载运算符输入流(return in 的形式,return cin有局限性)
- 借助SublimeLinter编写高质量的JavaScript & CSS代码
- Oracle数据文件的大小
- 在View视图类中使用CSplitterWnd来拆分视图窗口(不在CMainFrame类的虚函数OnCreateClient中拆分视图框架窗口)
- Complex类运算符的重载
- 第九周项目一:Complex类
- Java 内部类 收集整理
- Turbulenz:HTML5 2D和3D游戏引擎开源
- getch()在linux下的实现
- 程序人生之我们的故事:十年如歌(6)
- C++使用IBPP连接firebird数据库
- 基于js和canvas的开源HTML5应用开发框架
- E430不能从光驱启动解决方法
- CTime类运算符重载