Mega Code Archive

 
Categories / C++ / Qt
 

Add user-defined class to QMap

#include <QString> #include <QHash> #include <QMap> #include <QSet> #include <QDebug> class Employee {   public:     Employee(const QString &surname, const QString &forename)     {       m_forename = forename;       m_surname = surname;     }     QString forename() const { return m_forename; }     QString surname() const { return m_surname; }   private:     QString m_forename;     QString m_surname; }; inline bool operator<(const Employee &e1, const Employee &e2) {   if ( e1.surname() != e2.surname() )     return e1.surname() < e2.surname();   return e1.forename() < e2.forename(); } int main() {   Employee d1("M", "D");   Employee d2("M", "M");   Employee d3("M", "P");   QMap<int, Employee> map;   map.insert(0, d1);   map.insert(1, d2);   map.insert(2, d3);   QMapIterator<int, Employee> mi(map);   while ( mi.hasNext() ) {     mi.next();     qDebug() << mi.key() << ":" << mi.value().surname() << mi.value().forename(); }