C++ 中指针操作符(*)重载备忘

来源:互联网 发布:java 高并发编程 编辑:程序博客网 时间:2024/06/05 10:00
下面代码可以编译通过,从代码中可以看出只要重载了指定对象的指针操作符重载时,编译器会自动转成父类指针类型
class OverLoadObjABase{public:    int x;};class OverLoadObjA: public OverLoadObjABase{};class OverLoadObjB{public:    __INLINE__ operator OverLoadObjA*() const    {        return (OverLoadObjA*)this;    }};void CalcOverload(OverLoadObjABase* pA){    pA->x ++;  //非法}// test * overloadint _tmain(int argc, _TCHAR* argv[]){    OverLoadObjB objB;    CalcOverload(objB);    getchar();    return 0;}