#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