YTU 2535: C++复数运算符重载(+与

网友投稿 281 2022-11-29

YTU 2535: C++复数运算符重载(+与<<)

2535: C++复数运算符重载(+与<<)

时间限制: 1 Sec   内存限制: 128 MB

提交: 867

解决: 532

题目描述

定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算与输出操作。 (1)参加运算的两个运算量可以都是类对象,也可以其中有一个是实数,顺序任意。例如,c1+c2,d+c1,c1+d均合法(设d为实数,c1,c2为复数)。 (2)输出的算数,在复数两端加上括号,实部和虚部均保留两位小数,如(8.23+2.00i)、(7.45-3.40i)、(-3.25+4.13i)等。 编写程序,分别求两个复数之和、整数和复数之和,并且输出。

请在下面的程序段基础上完成设计:

#include #include 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; }; //将程序需要的其他成份写在下面,只提交begin到end部分的代码 //******************** begin ******************** //********************* end ******************** 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<>real>>imag; cin>>d; c3=Complex(real,imag)+d; cout<<"c1+d="; cout<>d; cin>>real>>imag; c1=Complex(real,imag); c3=d+c1; cout<<"d+c1="; cout<

输入

一个复数的实部和虚部,另一个复数的实部和虚部  一个复数的实部和虚部,一个实数  一个实数,一个复数的实部和虚部

输出

两个复数之和、复数和实数之和,实数和复数之和。

样例输入

3 4 5 -103 4 55 3 4

样例输出

c1+c2=(8.00-6.00i)c1+d=(8.00+4.00i)d+c1=(8.00+4.00i)

提示

只提交自己定义的函数部分,控制输出小数点后两位,用 setiosflags(ios::fixed);和setprecision(2);控制

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include #include 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+(double &x){ Complex c; c.real=x+real; c.imag=imag; return c;}Complex Complex::operator+(Complex &c1){ Complex c; c.real=real+c1.real; c.imag=imag+c1.imag; return c;}ostream& operator << (ostream& output, const Complex& c){ output<<"("<>real>>imag; Complex c1(real,imag); cin>>real>>imag; Complex c2(real,imag); Complex c3=c1+c2; cout<<"c1+c2="; cout<>real>>imag; cin>>d; c3=Complex(real,imag)+d; cout<<"c1+d="; cout<>d; cin>>real>>imag; c1=Complex(real,imag); c3=d+c1; cout<<"d+c1="; cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:@Valid 校验无效,BindingResult未获得错误的解决
下一篇:YTU 2542: 弟弟的作业
相关文章

 发表评论

暂时没有评论,来抢沙发吧~