Add user-defined class to QMap : QMap « Qt « C++

Home
C++
1.Bitset
2.Class
3.Console
4.Data Structure
5.Data Type
6.Deque
7.Development
8.File
9.Function
10.Generic
11.Language
12.List
13.Map Multimap
14.Overload
15.Pointer
16.Qt
17.Queue Stack
18.Set Multiset
19.STL Algorithms Binary search
20.STL Algorithms Heap
21.STL Algorithms Helper
22.STL Algorithms Iterator
23.STL Algorithms Merge
24.STL Algorithms Min Max
25.STL Algorithms Modifying sequence operations
26.STL Algorithms Non modifying sequence operations
27.STL Algorithms Sorting
28.STL Basics
29.String
30.Valarray
31.Vector
C / ANSI-C
C Tutorial
C++ Tutorial
Visual C++ .NET
C++ » Qt » QMapScreenshots 
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();
}

   
    
  
Related examples in the same category
1.QMap for string to int
2.QMap that associates a string to an integer value is created:
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.