#include <iostream>
#include <map>

class Employee
{
    int id = 0;
public:

    explicit Employee(int id) : id{id} {}
    
    friend std::ostream& operator << (std::ostream& os, const Employee& e)
    {
		return os << "Employee(id=" << e.id << ")";
    }
 };

int main() {
    std::map<std::string, Employee> employee {
       {"Karl", Employee{42}},
       {"George", Employee{59}},
    };

    for (const auto& p : employee ) {
        std::cout << p.first << " " << p.second << std::endl;
        // George Employee(id=59)
        // Karl Employee(id=42)
        
    }
}