          
      .  TSet 
      .   
14.5   ,     . 
    ,     . 

     14.5.  SET.H (  TSet) 

    1:	// set.h --   TSet 
    2: 
    3:	#ifndef __SET_H 
    4:	#define _SET_H 1  //   include 
    5: 
    6:	class TElem; 
    7:	typedef TElem *PTElem; 
    8:	typedef PTElem *PPTElem; 
    9: 
    10:	class TSet; 
    11:	typedef TSet *PTSet;   
    13:	class TSet {      
    14:	private:     
    15:	int max;    //    
    16:	int index;   //    
    17:	PPTElem set; //      PTElem 
    18:	protected:                                    " 
    19:	  virtual int CompareElems(PTElem pi, PTElem p2) = 0; 
    20:	public: 
    21:	  TSet( int n ) 
    22:	      { max = n;  index = 0;  set = new PTElem[n];   } 
    23:	   virtual ~TSet() 
    24:	     { delete[] set;   } 
    25:	   void AddElem(PTElem p); 
    26:	   int HasElem(PTElem p);
    27:	}; 
    28: 
    29.    #endif       /I   __SET _H 
    
         TSet    ,  
        
.     6, C++     
,   : 

    class TElem;   //   	

           TElem    
 ,    .. ,    
     TElem.    
    TSet  -    
 ,     .     
 ,   . PTElem   
 TElem*.  , PTElem -     TElem. 
, PPTElem     PTElem, ..   
    TElem.   TSet  PPTElem   
       PTElem. 
      1011       
  TSet   PTSet      TSet. 
    TSet   10 -  
  typedef-. 
        TSet ( 13-27).   
-     .    TSet 
     PTElem,    
,  PPTelem     . ( set 
        TElem.)  max  index 
   . 

    

      -  TSet   ,    
,   ,   .   
         , 
   .         
,      ,   ,  
 , 

      19    - CompareElems  
   TSet.   -    
 ,     ,  


    356  III.   ANSI ++
