struct player
{
string name;
int a;
int v;
int s;
bool operator< (const player lhs, const player rhs)
{
if ((lhs.a < rhs.a)
|| ((lhs.a == rhs.a) && (lhs.v < rhs.v))
|| ((lhs.a == rhs.a) && (lhs.v == rhs.v) && (lhs.s > rhs.s))
|| ((lhs.a == rhs.a) && (lhs.v == rhs.v) && (lhs.s == rhs.s) && (lhs.name < rhs.name))
)
return true;
else
return false;
}
};
我有这个结构,我希望使运算符
最佳答案
如果您在结构中定义运算符,则可以
bool operator<(const player& rhs) const
{
// do your comparison
}
您可以将
rhs.a
与this->a
(以及其他每个变量)进行比较关于c++ - C++运算符<重载结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29562803/