C++ set store custom objects

Description

C++ set store custom objects

#include <iostream>
#include <set>

using namespace std;

class Employee/*w  w w. j a v a 2 s  .c  o m*/
{
public:
    string name;
    string myId;

    Employee(string aname, string asocial) :
        name(aname),
        myId(asocial) {}

    Employee() : name(""), myId("") {}
};

bool operator < (const Employee& first,
const Employee& second)
{
    return first.myId <
        second.myId;
}

ostream& operator << (ostream &out, const Employee &emp)
{
    cout << "(" << emp.name;
    cout << "," << emp.myId;
    cout << ")";
    return out;
}

int main()
{
    set<Employee> employees;

    Employee emp1("sparky", "123-22-1111");
    employees.insert(emp1);

    Employee emp2("buzz", "234-33-2222");
    employees.insert(emp2);

    Employee emp3("coollie", "123-22-3333");
    employees.insert(emp3);

    Employee emp4("sputz", "199-19-0000");
    employees.insert(emp4);

    // List the items
    set<Employee>::iterator iter = employees.begin();
    
    while (iter != employees.end())
    {
        cout << *iter << endl;
        iter++;
    }

    // Find an item
    cout << "Finding..." << endl;
    Employee findemp("", "123-22-8572");

    iter = employees.find(findemp);
    cout << *iter << endl;

    return 0;
}



PreviousNext

Related