首页 > 代码库 > 4-1复数类的运算符重载(SDUTOJ2677)
4-1复数类的运算符重载(SDUTOJ2677)
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2677&cid=1275
题目描述
通过本题目的练习可以掌握成员运算符重载及友元运算符重载
要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(<<)以方便输出一个复数的要求。
输入
要求在主函数中创建对象时初始化对象的值。
输出
输出数据共有4行,分别代表a,b的值和它们求和、求差后的值
示例输入
无
示例输出
a=3.2+4.5ib=8.9+5.6ia+b=12.1+10.1ia-b=-5.7-1.1i
提示
#include <iostream>using namespace std;class Complex{public: Complex(double r,double i) { rm=r; im=i; } friend Complex operator +(Complex &c1,Complex &c2); friend Complex operator -(Complex &c1,Complex &c2); void display();private: double rm,im;};void Complex::display(){ cout<<"="<<rm; if(im>=0) cout<<"+"<<im<<"i"<<endl; else cout<<im<<"i"<<endl;}Complex operator+(Complex &c1,Complex &c2){ return Complex(c1.rm+c2.rm,c1.im+c2.im);}Complex operator-(Complex &c1,Complex &c2){ return Complex(c1.rm-c2.rm,c1.im-c2.im);}int main(){ Complex c1(3.2,4.5),c2(8.9,5.6); Complex c3(0,0); cout<<"a"; c1.display(); cout<<"b"; c2.display(); cout<<"a+b"; c3=c1+c2; c3.display(); cout<<"a-b"; c3=c1-c2; c3.display(); return 0;}
4-1复数类的运算符重载(SDUTOJ2677)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。