I think you might want another approach. Learn the basics first
than get advanced. However, you can review the following if
you think it will help.
compliments of MSDN online
template< class KEY, class ARG_KEY, class VALUE, class
ARG_VALUE >class CMap : public CObject
Class of the object used as the key to the map.
Data type used for KEY arguments; usually a reference to KEY.
Class of the object stored in the map.
Data type used for VALUE arguments; usually a reference to VALUE.
CMap is a dictionary collection class that maps unique keys to
values. Once you have inserted a key-value pair (element) into
the map, you can efficiently retrieve or delete the pair using the
key to access it. You can also iterate over all the elements in the
A variable of type POSITION is used for alternate access to
entries. You can use a POSITION to “remember” an entry and to
iterate through the map. You might think that this iteration is
sequential by key value; it is not. The sequence of retrieved
elements is indeterminate.
Certain member functions of this class call global helper functions
that must be customized for most uses of the CMap class. See
Collection Class Helpers in the Macros and Globals section of the
CMap incorporates the IMPLEMENT_SERIAL macro to support
serialization and dumping of its elements. Each element is
serialized in turn if a map is stored to an archive, either with the
overloaded insertion (<<) operator or with the Serialize member
If you need a diagnostic dump of the individual elements in the
map (the keys and the values), you must set the depth of the
dump context to 1 or greater.
When a CMap object is deleted, or when its elements are
removed, the keys and values both are removed.
Map class derivation is similar to list derivation. See the
articleCollections in Visual C++ Programmer’s Guide for an
illustration of the derivation of a special-purpose list class.
Class Members | Base Class | Hierarchy Chart
Sample MFC Sample COLLECT
For more INFO visit MSDN online