1.operator overloading
C++可能通过operator 重载操作符,格式如下:类型T operator 操作符 (),如比重载+,如下所示
template<typename T> class A
{
public:
private:
};
又比如STL中的函数对象,重载(),如下所示
template<typename T> struct A
{
};
2 operator casting
C++可能通过operator 重载隐式转换,格式如下: operator 类型T (),如下所示
class A
{
public:
private:
};
A a;
当if(a),编译时,其中它转换成if(a.operator B*()),其实也就是判断 if(a.b_)
转自:http://hi.baidu.com/%D0%A6%D0%A6%C9%FA/blog/item/853d5966dbc9972eaa184ccd