2010-11-26 72 views
0

嗨 如何重载指针对象。我试过它没有解决。谁能帮我。重载指针对象

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

是否有任何解决方法..我已经有一个myClass指针,我想要它的20个副本(不指向相同的地址)。任何想法的欢迎。 – 2010-11-26 06:17:04