A map of opposites. : Map « Data Structure « C++






A map of opposites.

A map of opposites.

#include <iostream>
#include <map>
#include <cstring>
using namespace std;

class StringClass {
  char str[20];
public:
  StringClass() { 
     strcpy(str, ""); 
  }
  StringClass(char *s) { 
     strcpy(str, s); 
  }
  char *get() { 
     return str; 
  }
};

// must define less than relative to StringClass objects
bool operator<(StringClass a, StringClass b)
{
   return strcmp(a.get(), b.get()) < 0;
}

class opposite {
  char str[20];
public:
  opposite() { 
     strcmp(str, ""); 
  }
  opposite(char *s) { 
     strcpy(str, s); 
  }
  char *get() { 
     return str; 
  }
};


int main()
{
  map<StringClass, opposite> mapObject;

  mapObject.insert(pair<StringClass, opposite>(StringClass("yes"), opposite("no")));
  mapObject.insert(pair<StringClass, opposite>(StringClass("good"), opposite("bad")));
  mapObject.insert(pair<StringClass, opposite>(StringClass("left"), opposite("right")));
  mapObject.insert(pair<StringClass, opposite>(StringClass("up"), opposite("down")));

  char str[80];
  cout << "Enter word: ";
  cin >> str;

  map<StringClass, opposite>::iterator p;
  
  p = mapObject.find(StringClass(str));
  if(p != mapObject.end()) 
    cout << "Opposite: " <<  p->second.get();
  else
    cout << "Word not in map.\n";

  return 0;
}


           
       








Related examples in the same category

1.A map: insert pair, find, endA map: insert pair, find, end
2.A map of word opposites, using strings.A map of word opposites, using strings.
3.Cycle through a map using an iterator.Cycle through a map using an iterator.
4.Cycle through a map in reverse.Cycle through a map in reverse.
5.Using [] in MapUsing [] in Map
6.[] automatically inserts elements.[] automatically inserts elements.
7.Maps can store only unique keys.Maps can store only unique keys.
8.Use a map to create a phone directory: string classUse a map to create a phone directory: string class
9.Use the greater function object in MapUse the greater function object in Map
10.Demonstrating a multimap.Demonstrating a multimap.
11.Use a multimap to create the phone directory.Use a multimap to create the phone directory.
12.A simple map: char and intA simple map: char and int
13.Use a map of strings to create a phone directory.Use a map of strings to create a phone directory.
14.File and mapFile and map