你好
我如何重载指针对象。我试过了没有用。谁能帮我。

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;
}

最佳答案

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

您只能重载至少一个操作数是类类型或枚举类型的运算符。

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

10-08 11:50