我正在尝试比较对象数组中的两个不同对象,如果我不使用数组它可以正常工作.将对象放在数组中会导致重载函数甚至不被调用("yes"不会被打印).我不确定我是否只是在我的重载函数中使用了错误的参数或者是什么.
#include <iostream>
using namespace std;
class myClass {
public:
myClass(int num)
{
value = num;
}
friend bool operator>(myClass& a, myClass& b)
{
cout << "yes" << endl;
return a.value > b.value;
}
private:
int value;
};
int main()
{
myClass *list[5];
list[0] = new myClass(15);
list[1] = new myClass(4);
if (list[0] > list[1])
cout << "yes";
else
cout << "no";
}
Run Code Online (Sandbox Code Playgroud)
谢谢.