在我的课堂上,我将原型(公共)编写为:
bool operator< (const MyClass& obj);
我在类外(在同一个文件中)实现该方法:
bool MyClass::operator< (const MyClass& obj)
{
cout << "operator< used" << endl;
//do my work
}
问题是,虽然我的重载运算符会在我显式调用(如obj1->operator<(*obj2)
)时被调用,但在隐式调用时不会被调用(如obj1 < obj2
)。
我已按照本文中的重载教程进行操作,但看不到我遗漏了什么或做错了什么。