我可以通过C ++简化运算符(加/乘)重载吗

时间:2019-02-08 14:01:17

标签: c++ class c++11 operator-overloading mingw-w64

我制作了有关Complex加法的类,但是我发现编写重载函数有点繁琐。 我的代码(c ++ 11)如下:

#include <iostream>
class complex{
public:
    complex(double real,double imag);
    complex();
    friend complex operator +(const double &m, const complex &origin);
    friend complex operator +(const complex &origin, const double &m);
    double real;
    double imag;
};
complex::complex(double real,double imag):real(real),imag(imag){;};
complex::complex():real(0),imag(0){;};
complex operator +(const double &m,const complex &origin){
    complex p;
    p.real=origin.real+m;
    p.imag=origin.imag;
    return p;
}
complex operator +(const complex &origin,const double &m){
    return m+origin;
}




int main() {
    complex com(1,2);
    com=3.+com;
    com=com+3.;
    return 0;
}

我可以通过使用我的类来添加具​​有一个运算符功能的Complex的方法吗(无论如何,WANNA不使用的标准库)?谢谢。

0 个答案:

没有答案