2010-11-26 104 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