Listing 3 Declaration for Map Class

class Map {
   char   *name;
   int     count;
   Field **fieldv;
public:
   Map( char *name, Field **fieldv, int count )
      :name( name ), fieldv( fieldv ), count( count ) {}

   Field &operator [] ( int index ) {
      assert( index >= 0 && index < count );
      return *fieldv[ index ];
   }
   
   const int   getCount() { return count; }
   const char *getName()  { return name; }

};

/* End of File */