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.athis->a(以及其他每个变量)进行比较

关于c++ - C++运算符<重载结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29562803/

10-13 03:26