您的位置:首页 > 其它

实现复数类中的运算符重载

2016-06-15 19:31 363 查看
#include <iostream>

using namespace std;

class Complex

{

public:

    Complex(){real=0;imag=0;}

    Complex(double r,double i){real=r;imag=i;}

    Complex operator+(const Complex &c2);

    Complex operator-(const Complex &c2);

    Complex operator*(const Complex &c2);

    Complex operator/(const Complex &c2);

    void display();

private:

    double real;

    double imag;

};

Complex Complex::operator+(const Complex &c2)

{

    return Complex(real+c2.real,imag+c2.imag);

}

Complex Complex::operator-(const Complex &c2)

{

    return Complex(real-c2.real,imag-c2.imag);

}

Complex Complex::operator*(const Complex &c2)

{

    return Complex(real*c2.real,imag*c2.imag);

}

Complex Complex::operator/(const Complex &c2)

{

    return Complex(real/c2.real,imag/c2.imag);

}

void Complex::display()

{

    cout<<"("<<real<<","<<imag<<")"<<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=c1*c2;

    cout<<"c1*c2=";

    c3.display();

    c3=c1/c2;

    cout<<"c1/c2=";

    c3.display();

    return 0;

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