Mega Code Archive
Categories
/
C++
/
Map Multimap
Store objects in a map
#include
#include
#include
using namespace std; class Name { char str[40]; public: Name() { strcpy(str, ""); } Name(char *s) { strcpy(str, s); } char *get() { return str; } }; // Must define less than relative to Name objects. bool operator<(Name a, Name b) { return strcmp(a.get(), b.get()) < 0; } class Number { char str[80]; public: Number() { strcmp(str, ""); } Number(char *s) { strcpy(str, s); } char *get() { return str; } }; int main() { map
directory; directory.insert(pair
(Name("T"),Number("555-4444"))); directory.insert(pair
(Name("C"),Number("555-3333"))); directory.insert(pair
(Name("J"),Number("555-2222"))); directory.insert(pair
(Name("R"),Number("555-1111"))); char str[80] = "T"; map
::iterator p; p = directory.find(Name(str)); if(p != directory.end()) cout << "Phone number: " << p->second.get(); else cout << "Name not in directory.\n"; return 0; } /* Phone number: 555-4444 */