重写操作符

复制代码
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

class Student {
protected:
   string name;
   int score;
public:
   Student(string name, int score) {
      this->name  = name;
      this->score = score;
   }
   bool operator < (const Student& stu) {
      return this->score < stu.score;
   }
   friend ostream& operator << (ostream& o, Student& stu) {
      o << "[" << stu.name << ", "<< stu.score << "]";
      return o;
   }
};

int main(){
   vector<Student> vec;
   vec.emplace_back("zhangsan", 93);
   vec.emplace_back("lisi", 91);
   vec.emplace_back("wanger", 95);
   vec.emplace_back("liuqi", 90);
   vec.emplace_back("mawu", 92);
   sort(vec.begin(), vec.end());
   for (int i = 0; i<vec.size(); i++){
      cout << vec[i] <<",";
   }
   cout << endl;
   return 0;
}
复制代码

 

posted @   放弃吧  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示