map 运算符重载
#include <stdio.h>
#include <map>
#include <string>
#include <algorithm>
#include <iostream>
using namespace std;
typedef struct studentinfo
{
int ID;
string strName;
bool operator < (studentinfo const & A) const
{
if (ID < A.ID )
return true;
if (ID == A.ID)
return strName.compare(A.strName) < 0;
return false;
}
}stu;
int main( )
{
//用学生信息映射分数
map<stu,int>mp;
studentinfo st;
st.ID = 1;
st.strName = "peter";
mp.insert(pair<stu,int>(st,90));
st.ID = 1;
st.strName = "jack";
mp.insert(pair<stu,int>(st,91));
map<stu,int>::iterator iter;
for(iter = mp.begin( ); iter != mp.end( ); iter++)
cout<<iter->first.ID<<" "<<iter->second<<" "<<iter->first.strName<<endl;
}
posted on 2011-07-28 23:43 more think, more gains 阅读(613) 评论(0) 收藏 举报
浙公网安备 33010602011771号