重载Pointer对象

时间:2010-11-26 05:59:58

标签: c++ visual-c++ operator-overloading

您好 我如何重载指针对象。我试过它没有成功。任何人都可以帮助我。

CMyClass *InstancePtr = new CMyClass;
Myclassptr = MapObject->second; // returns *CMyclass
//overlaod Assignment operator ...
InstancePtr = Myclassptr;

//////////////////////////////////////////////////////   

CMyClass * CMyClass::operator=(const CMyClass *ptr) 
{
    //some operation    
    int x = 4; 
    x = x - 2;

    return this;
}

1 个答案:

答案 0 :(得分:1)

您不能为指针类型对象重载运算符。

您只能重载一个操作符,其中至少有一个操作数是类类型或枚举类型。

由于重载赋值运算符必须作为非静态成员函数实现,因此只能在左侧操作数属于类类型的地方重载。