1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
#include <string>
#include <iostream>
#include <set>
#include <vector>
using namespace std;
class Person
{
private:
string name;
public:
Person(string name);
virtual string getName()const;
};
Person::Person(string name)
{
this->name = name;
}
string Person::getName()const
{
return this->name;
}
/*
bool operator<(const Person& person1, const Person& person2)
{
return person1.getName() < person2.getName();
}
*/
ostream& operator<<(ostream& os, const Person& person)
{
os << person.getName();
return os;
}
int main()
{
Person p1("Toto");
Person p2("Tata");
Person p3("Tutu");
set<Person*> persons;
persons.insert(&p1);
persons.insert(&p1);
persons.insert(&p1);
persons.insert(&p2);
persons.insert(&p3);
set<Person*>::iterator it;
/*
vector<Person> persons;
persons.push_back(p1);
persons.push_back(p1);
persons.push_back(p1);
persons.push_back(p2);
persons.push_back(p3);
vector<Person>::iterator it;
*/
for(it = persons.begin(); it != persons.end(); it++)
{
cout << **it << endl;
}
} |