重载运算符
来源:互联网 发布:sql 注入 1 2 编辑:程序博客网 时间:2024/04/30 18:35
首先明白一个概念,何谓重载的运算符,并不是按照某些规则的大小,只是你希望它在排序中的先后顺序,按照同一规则,需要倒序排序的重载运算符"<"跟正序排序的重载运算符"<"里面要比较结构体部分数据的大小不同的。其次,为什么要重载运算符,因为像结构体的的数据结构是没有机器是没有办法对他排序的,所以需要我们自定义其排序规则。举例:
struct Data{ char name[101]; int age; int grade; bool operator < (const Data data) const{ if(grade == data.grade){ int tmp = strcmp(name,data.name); if(tmp == 0){ return age < data.age; } else{ return tmp<0; } } else{ return grade > data.grade; } };}arr[1001];
这样就能根据我们定义的规则:先比较两者成绩,成绩高的在前面,成绩相同,比较姓名,姓名比较根据字典排序,姓名相同则比较年龄。因为只是举例,所以并无实际意义。根据我们重载的运算符,结合sort函数,就可以对我们自定义的结构体进行排序。
0 0
- 运算符重载 [++,--,+,<<; &&,||(不可重载)]
- 重载之运算符重载
- 重载赋值运算符
- C++运算符重载
- 运算符重载
- 运算符重载总结
- 运算符重载例子
- 运算符重载
- 运算符重载
- 基础:运算符重载
- 运算符重载
- 运算符重载
- 重载赋值运算符
- C#运算符重载
- C++-运算符重载
- 重载赋值运算符
- 运算符重载
- 有关运算符重载
- ObjC的initialize和init
- ARM linux的启动部分源代码简略分析
- linux 文件类型
- android国际化
- 如何减小MFC程序的体积,CWinApp和CWinAppEx
- 重载运算符
- textView和textField 限制文字输入字数
- Qt下 QString转char*
- Android SDK镜像的介绍使用
- PHP定时执行任务的实现
- 什么时候用ArrayList,什么时候用LinkedList
- 动态计算UITableViewCell高度详解 -- 学习
- 常用的APT命令参数
- c++11 & 14: unique_ptr shared_ptr std::make_unique(c++14)