2013-10-26 15 views
2

在我的課,我寫的原型(公衆)爲:重載運營商C++類不會被調用

bool operator< (const MyClass& obj); 

我實現類以外的方法(在同一個文件)爲:

bool MyClass::operator< (const MyClass& obj) 
{ 
    cout << "operator< used" << endl; 
    //do my work 
} 

的問題是,雖然我的重載操作被調用,如果我把它明確(如obj1->operator<(*obj2)),但不隱式調用時(如obj1 < obj2)。

我遵循了this article超載教程中,我看不出有什麼我失蹤或做錯了。

回答

6

obj1obj2是指針,所以你做*obj1 < *obj2

+1

+1,我也希望'operator <'是'const'。 –

+1

我也希望它是免費的。 – chris

+0

它的工作。非常感謝。 – Babri

1

obj1和obj2是指向MyClass的指針。 如果你想打電話給運營商<使用: * obj1 < * obj2