复数运算符重载
来源:互联网 发布:动漫p图软件 编辑:程序博客网 时间:2024/04/27 20:20
问题及代码:
运行结果:
/*。*Copyright(c)2014,烟台大学计算机学院*All right reserved,*文件名:test.cpp*作者:liu_feng_zi_*完成日期:2015年6月25日*版本号:v1.0*问题描述:复数运算符重载(+与<<)*输入描述:*程序输出:*/#include <iostream>#include <iomanip>using namespace std;class Complex{public: Complex():real(0),imag(0) {} Complex(double r,double i):real(r),imag(i) {} Complex operator+(Complex &); Complex operator+(double &); friend Complex operator+(double&,Complex &); friend ostream& operator << (ostream& output, const Complex& c);private: double real; double imag;};Complex Complex::operator+(Complex &c){ Complex cc; cc.real=real+c.real; cc.imag=imag+c.imag; return cc;}Complex Complex::operator+(double &c){ Complex cc; cc.real=real+c; cc.imag=imag; return cc;}Complex operator+(double&d,Complex &c){ Complex cc; cc.real=c.real+d; cc.imag=c.imag; return cc;}ostream& operator << (ostream& output, const Complex& c){ output<<setiosflags(ios::fixed)<<setprecision(2); output<<"("<<c.real<<((c.imag>0)?"+":"")<<c.imag<<"i)"<<endl; return output;}int main(){//测试复数加复数 double real,imag; cin>>real>>imag; Complex c1(real,imag); cin>>real>>imag; Complex c2(real,imag); Complex c3=c1+c2; cout<<"c1+c2="; cout<<c3;//测试复数加实数 double d; cin>>real>>imag; cin>>d; c3=Complex(real,imag)+d; cout<<"c1+d="; cout<<c3;//测试实数加复数 cin>>d; cin>>real>>imag; c1=Complex(real,imag); c3=d+c1; cout<<"d+c1="; cout<<c3; return 0;}
运行结果:
0 0
- 复数运算符重载
- 复数运算符重载
- 复数与运算符重载
- 复数类运算符重载
- 复数运算符重载1
- 复数运算符的重载
- 复数类--重载运算符+,-,*,/
- 复数类--重载运算符+
- 复数类--重载运算符+,-,*,/
- 复数类--重载运算符+
- 复数类--重载运算符+,-,*,/
- OJ2535复数运算符重载
- 复数类--重载运算符
- 运算符重载 复数类 /
- 运算符重载 复数类 *
- 复数类 运算符重载
- C++复数运算的运算符重载
- 通过运算符重载实现复数运算
- 浅谈移动前端的最佳实践
- 手斧Linux – 从LFS到Funtoo (45)
- JAVAC不是内部或外部命令
- 自学笔记-C语言复习2015年6月25日
- 安装时提示 INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 解决办法
- 复数运算符重载
- 黑马程序员——Java基础:集合类、泛型
- Encoding
- java线程基础复习
- Alt+/ 提示不管用?
- Android greenDAO入门
- 分布式设计与开发 memcached分布式
- 手斧Linux – 从LFS到Funtoo (46)
- CWE-134: Uncontrolled Format String