在C++中,二元运算符a@b,可以解释成a.operator@(b),或者operator@(a,b),这句话是关键。为了说明这个问题,举几个例子说明
根据上面的定义,可以在类A的成员函数内实现,代码如下:
class A{ public: A(){} A(int v){ _v = v; } A operator+(int param){ A a; a._v = _v + param; return a; } int getA(){ return _v; } private: int _v; }; int _tmain(int argc, _TCHAR* argv[]) { A a(20); A b = a + 2; std::cout << b.getA() << std::endl; return 0; }
也可以在全局中实现
原文:https://www.cnblogs.com/tinaluo/p/11545418.html