您的位置:首页 > 编程语言 > C语言/C++

C++编程:定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载作为Complex的类的成员函数,编程序,求两个复数的和,差,积,商。

2018-01-12 13:33 736 查看
C++编程:定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载作为Complex的类的成员函数,编程序,求两个复数的和,差,积,商。

以下是此题的【c++源代码】

#include <iostream>

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=real*c2.real-imag*c2.imag;

 c.imag=imag*c2.real+real*c2.imag;

 return c;}

Complex Complex::operator/(Complex &c2)

{Complex c;

 c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

 c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

 return c;}

void Complex::display()

{cout<<"("<<real<<","<<imag<<"i)"<<endl;}

int main()

{Complex c1(3,4),c2(5,-10),c3;

 c3=c1+c2;

 cout<<"c1+c2=";

 c3.display();

 c3=c1-c2;

 cout<<"c1-c2=";

 c3.display();

 c3=c1*c2;

 cout<<"c1*c2=";

 c3.display();

 c3=c1/c2;

 cout<<"c1/c2=";

 c3.display();

 return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐