c++重载运算符

c++语言中,我们可以任意重载(重新定义)运算符
这种操作一般是为了使用伟大的STL或自行进行封装
e.g.使用库函数std::sort或优先队列
下面就以重载小于号为例

重载小于号
    struct Node {   //首先这个操作要在结构体中进行 
        int d, e;   //这是主程序中本来要用到的变量(自行定义)
        bool operator < (const Node x) const {  //bool类型
            return d < x.d;      //从小到大排序
        }   //结构体是可以套函数的
        Node(int d, int e):d(d), e(e){} //结构体大招 我含我自己
    }; 

好了就是这样
看注解应该能看懂
看不懂就把板子背下来
这种重载在使用时是从小到大

那么从大到小怎么操作?
 struct Node {  
        int d, e;  
        bool operator < (const Node x) const {  
            return d < x.d;         //从大到小排序
        }  
        Node(int d, int e):d(d), e(e){}  
    }; 

很有精神是吧(我才不会告诉你我没看出来区别)

posted @ 2020-10-12 16:36  一杯好凉茶  阅读(188)  评论(0编辑  收藏  举报