自己定义一个复数类型,可以进行复数的基本运算

#include<iostream>

using namespace std;

struct complex

{

double real,imag;

complex(double r=0.0,double i=0.0):real(r),imag(i){};

complex operator+ (const complex & other)const

{

return complex(real+other.real,imag+other.imag);

}

complex operator- (const complex &other)const

{

return complex(real-other.real,imag-other.imag);

}

complex operator* (const complex &other)const

{

return complex(real*other.real-imag*other.imag,real*other.imag+other.real*imag);

}

};

ostream& operator<<(ostream& os,const complex&c){if(c.imag>=0){os<<c.real<<"+"<<c.imag<<"i";}

else{os<<c.real<<c.imag<<"i";}return os;}

istream& operator >>(istream& is, complex &c){is>>c.real>>c.imag;return is;}

int main()

{

complex a,b;

cin>>a>>b;

cout<<a+b<<'\n';

cout<<a-b<<'\n';

cout<<a*b<<'\n';

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-12 02:26
已编辑
&nbsp;&nbsp;&nbsp;不知不觉已经11月了,从今年春节开始学习ssm,到如今已然过去8,9个月,大三下学期疯狂学习Java框架,同时也忙着期末考试,从8月底开始投,简历改了一版有一版,9月大量测评笔试,结果被遗憾贯穿,10月屈指可数的面试,从线上到线下。整个秋招面过5家,1offer,其中还有两家是外包😭,但总归有了去处(估计要成为数马宝贝了嘿嘿)。还有10月中旬说要约面试的联通,现在还没面😡。&nbsp;&nbsp;&nbsp;从Java小白终于慢慢成长,从Java后端到大数据开发,学了许多中间件,狂背八股概念,到现在终于能独立看懂源码了嘿嘿😜&nbsp;&nbsp;&nbsp;到现在慢慢自己阅读技术书籍,慢慢拥有了自己的框架理解,自己的架构理念双非软工的我今天收到意向,班级一半人考研(学院上岸率只有三分之一啊),看着有的同学摆烂样子觉得离他们好远,估计鼠鼠是班级唯一javaer。于此同时学校要开始开题报告了,突然意识到我的大学开始离我而去,失去了某些东西,既向往以后生活又感伤&nbsp;&nbsp;&nbsp;感谢着那时努力的自己,同时开始准备毕设,好好告别过去,开始告别学校。未来精彩,或许美好或许痛苦,不抵触,不恐惧,迎接未来,和生活对线。。。。 #秋招结束# #毕业季,你想好怎么跟生活对线了吗?# 附上最爱月下剑客图 #牛客创作赏金赛# #25届秋招总结#
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务