参考《C++程序设计语言》更新于:2020-06-27 02:31:28
运算符重载的主要目的在于使运算操作方便。
二元和一元运算符
在C++中,二元运算符a@b,可以解释成a.operator@(b),或者operator@(a,b),这句话是关键。为了说明这个问题,举几个例子说明
第一个例子:如果有一个类A,实现A+2.
根据上面的定义,可以在类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; }
也可以在全局中实现