我想弄清楚如何爲指向Item類對象的Item Pointer類實現運算符<重載。它是程序的一部分,它存儲指向STL集中的Items的指針。對於有序的STL集(按字母排序),重載是必需的。我知道下面的ItemPtr超載的代碼是錯誤的。我認爲我可以對指針進行解引用以獲取實際的項目,但我不知道如何實現這一點。我希望我走在正確的軌道上。我很欣賞任何人都可以分享的任何指針(沒有雙關語意思)。重載運算符<用於指向類對象的指針
bool operator<(const Item& i1, const Item& i2)
{
const char* str1 = i1.getTitle().c_str();
const char* str2 = i2.getTitle().c_str();
return strcmp(str1, str2);
}
bool operator<(const ItemPtr& ip1, const ItemPtr& ip2)
{
const Item& i1 = *ip1;
const Item& i2 = *ip2;
return i1 < i2;
}
謝謝。
爲什麼不簡單'返回ItemPtr1-> getTitle()< ItemPtr2-> getTitle()'? –
這些朋友功能或類功能? – IanPudney
問題是「你如何寫出尊敬操作」? – doctorlove