请问C++如何通过运算符重载实现复数的运算?

补全下面代码的成员函数即可。感谢!

#pragma once
#include<string>

class Complex{
private:
    double re;
    double im;
public:
    Complex(double real=0,double imag=0);
    Complex(const Complex& orig);

    Complex& operator=(const Complex& arg);
    Complex operator+(){return *this;}
    Complex operator-(){return Complex(-re,-im);}
    Complex operator+(const Complex& arg);
    Complex operator-(const Complex& arg);
    Complex operator*(const Complex& arg);
    Complex operator/(const Complex& arg);
    Complex& operator+=(const Complex& arg);
    Complex& operator-=(const Complex& arg);
    Complex& operator*=(const Complex& arg);
    Complex& operator/=(const Complex& arg);
    bool operator==(const Complex& arg);
    bool operator!=(const Complex& arg);

    double real(){return re;}
    double imag(){return im;}
    double moduls();
    std::string str();
};

 

建议自己编写代码。实在遇到问题再求助。