C++——定义一个复数类Complex,重载运算符“*”用于复数的乘法。运算符重载函数作为Complex类的成员函数(复数的乘法公式是(a+bi)(c+di)=(ac-bd)+(bc+ad)i)

没注释的源代码

#include <iostream>

using namespace std;

class Complex

{

public:

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

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

    void display();

    double get_real()

    {

        return real;

    }

    double get_imag()

    {

        return imag;

    }

    Complex operator+(Complex &c2)

    {

        Complex c;

        c.real=real+c2.real;

        c.imag=imag+c2.imag;

        return c;

    }

    Complex operator*(Complex &c2)

    {

        Complex c;

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

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

        return c;

    }

private:

    double real;

    double imag;

};

void Complex::display()

{

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

}

int main()

{

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

    c3=c1*c2;

    c3.display();

    return 0;

}

猜你喜欢

转载自blog.csdn.net/2303_80770781/article/details/142895621