,       . 
,  - CompareElems()  ,    
 TElem,     1  p2 . ,    
    CompareElemsO,       
  ,    TElem. ,   
 -  ,   ,   
,    TSet.    " 
   22-26.    ( 21-22) 
  -     new   
  PTElem.   ( 23-24)   , 
   TSet      . 
    - AddElem()  HasElem() ( 25-26)    
,    .    ( 14.6) 
  . (    ,   
,   ,   .  --  
   .) 

    14.6.  SET.CPP (  TSet) 

    1:  // set.cpp --   TSet 
    2:
    3:    #include <iostream.h> 
    4:    #include <stdlib.h> 
    5:    #include "set.h" 
    6:
    7:	//    . (    !) 
    8:	void TSet: :AddElem( PTElem p) 
    9:	{ 
    10:	  if (set == NULL) { 
    11:	    cout  "\nERROR: Out of memory"; 
    12:	    exit ( 1 ) ;                             
    13:	  }      
    14:	  if (index >= max) {                     
    15:	    cout  "\nERROR: Set limit exceeded";          
    16:	    exit(1);                              
    17:	  } 
    18:	  set[index] = p; 
    19:	  ++index; 
    20:	} 
    21: 
    22:	//  ,  ,  ,    
    23:	int TSet:: HasElem( PTElem p) 
    24:	{                 
    25:	  if (set == NULL)           
    26:	    return 0; //            
    27:	  for ( int i = 0; i < index; i++  ) 
    28:	    if (CompareElems(p, setfi]) ==0)       
    29:	        return 1; //                       
    30:	  return 0; //             
    31:	}                                      


     SET.CPP     AddElemO  HasElemO. ,  
    ,    ,   
. ,    ,   .     
    TElem. 
         AddElemO ( 8-20)     
 TElem,   .   10-17   
          
  . (      
 ,         
 .)   18-19  TElem,    
 ,    set. 
    - HasElemO ( 23-31)  ,   
 TElem   .  HasElemO   
 -  CompareElemsO   28.    
      ,    !   
      ,   
 .   -,    28 
      . 
      TSET.CPP ( 14.7)    TSet  
TElem    ,   ,  
 30 : , ,   .  ,  
 -       
 ,    .   
       
TSET.CPP  SET.CPP.   DOS,   bcc tset set, 


     14. -  357 
