//请问为啥没有输出结果
#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<ctime>
#include<algorithm>
using namespace std;
class Print;
class Person
{
public:
Person(int salary,string name);
~Person();
private:
int m_Salary;
string m_Name;
friend void creatPerson(vector<Person>* v);
friend void sortPerson(const vector<Person>& v, multimap<int, Person>* m);
friend class Print;
};
Person::Person(int salary,string name)
{
m_Salary = salary;
m_Name = name;
}
Person::~Person()
{
}
class Print
{
public:
void operator()(const pair<int, Person>& p)
{
cout << "编号"<<p.first<<"\t工资" << p.second.m_Salary << "\t姓名" << p.second.m_Name << endl;
}
};
void creatPerson(vector<Person>* v)
{
char nameSeed[10] = { 'A','B','C','D','E','F','G','H','I','J'};
for (int i = 0; i < 10; i++)
{
v->push_back( Person (0, (const char*)nameSeed[i]) );
}
}
void sortPerson(const vector<Person>& v, multimap<int, Person>* m)
{
int id;
for (int i = 0; i < 10; i++)
{
id=rand() % 3 + 1;//1`3
m->insert(make_pair(id, v[i]));
}
}
int main()
{
vector<Person>v;
creatPerson(&v);
cout<<v.size()<<v.empty() ;
multimap<int, Person>m;
sortPerson(v, &m);
for_each(m.begin(),m.end(),Print());
}