小编Hel*_*est的帖子

结构的比较运算符重载,对称地比较我的结构和int类型?

我试图重载这些操作符: <,<=,==,>=,>,也许以后!=,在一个结构.

似乎将结构的对象与同一结构的另一个对象进行比较很容易,因为当为该场景重载运算符时,该定义是自动对称的.

但是,如果我想我的结构比较FOODint?这个也很容易FOOD,但是,当int出现时,情况怎么样?我怎么定义没有g ++给我这么多"必须包含一个参数"的错误?

我意识到了

bool operator> (const int &, const FOOD &) const;
Run Code Online (Sandbox Code Playgroud)

由于"不止一个论点"的事情而存在问题.我明白了.

在我搜索的所有论坛中,每个人的解决方案似乎都在使用friend,但他们的困难总是在课程的背景下,而不是结构.如何为s结构做?

struct FOOD {
    int foodID;
    double price;
    bool operator> (const FOOD  &) const;       //FOOD >  FOOD
    bool operator>=(const FOOD  &) const;       //FOOD >= FOOD
    bool operator==(const FOOD  &) const;       //FOOD == FOOD
    bool operator<=(const FOOD  &) const;       //FOOD …
Run Code Online (Sandbox Code Playgroud)

c++ struct operator-overloading

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

operator-overloading ×1

struct ×1