第八周 项目一复数类运算重载符
原创 ycj170320
发布于2013-04-21 07:18:16
阅读数 529
收藏
展开
//复数相加: (a+bi)+(c+di)=(a+c)+(b+d)i.//复数相乘:(a+bi)(c+di)=(ac-bd)+(bc+ad)i. //复数相减:(a+bi)-(c+di)=(a-c)+(b-d)i.//复数相除:(a+bi)/(c+di)=(ac+bd)/(c2+d2) +(bc-ad)/(c2+d2)i #include using namespace std;class Complex{public: Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c2); Complex operator-(Complex &c2); Complex operator*(Complex &c2); Complex operator/(Complex &c2); void display();private: double real; double imag;}; Complex Complex::operator+(Complex &c2){ Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c;} Complex Complex::operator-(Complex &c2){ Complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return c;} Complex Complex::operator*(Complex &c2){ Complex c; c.real=realc2.real-imagc2.imag; c.imag=imagc2.real+realc2.imag; return c;} Complex Complex::operator/(Complex &c2){ Complex c; c.real=(realc2.real+imagc2.imag)/(c2.realc2.real+c2.imagc2.imag); c.imag=(imagc2.real-realc2.imag)/(c2.realc2.real+c2.imagc2.imag); return c;} void Complex::display(){ cout<<"("<<real<<","<<imag<<“i)”<<endl;} int main(){ Complex c1(3,4),c2(5,-10),c3; cout<<“c1=”; c1.display(); cout<<“c2=”; c2.display(); c3=c1+c2; cout<<“c1+c2=”; c3.display(); c3=c1-c2; cout<<“c1-c2=”; c3.display(); c3=c1c2; cout<<"c1c2="; c3.display(); c3=c1/c2; cout<<“c1/c2=”; c3.display(); return 0;}
————————————————
版权声明:本文为CSDN博主「ycj170320」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ycj170320/article/details/8830081
第八周 项目一复数类运算重载符
最新推荐文章于 2022-05-25 10:22:11 发布