12.4.    C++ 447

       .  
""      ""  ,  
   .     
trip_announcement,    12.2.

//  12.2.   trip_announcement

class trip_announcement :

public proposition<trip_announcement>{
//. . .
protected:

string Origin;

string Destination;

stack<trip_announcement> Candidates ;

public:

bool operator<)(void) ;

bool operator==(const trip_announcement &X) const;

void origin(string X) ;

string origin(void);

void destination(string X) ;

string destination(void);

bool directTrip(void);

bool validTrip(list<trip_announcement>::iterator I,
string TempOrigin) ;

stack<fcrip_announcement> candidates(void) ;

friend bool operator]|(bool X,trip_announcement &Y) ;

friend bool operator&&(bool X,trip_announcement &Y);

//. . .
};

   ,   trip_announcement  
proposition. ,   proposition     -
 ,  . 

class trip_announcement :

public proposition<trip_announcement>
{...};

  proposition  .  ,  , 
 trip_announcement    operator (). -
,   trip_announcement  ,   .  
      trip_announcement -
   .   trip_announcement  -
   :

Origin

Destination

Candidates

         
 .        
      ,    Candidates  
  . ,   trip_announcement -
        .  
trip_announcement     . 