12.4.    C++ 453

    . ,    
        ,
    .     
   -.   

 proposition    .

// 12.6.   
//              proposition   

template <class C> bool proposition<C>::operator&&(

proposition &X)
{

return; (*this) () &&X());

}

template <class 0 bool proposition<C>::operator||(

proposition &X)

{

returnt(*this)() || X()) ;

}

teinplate<class C> proposition<C>::operator void*(void)
{

returnt(void*)(TruthValue)) ;

}

bool trip_announcement::operator()(void)
{

list<trip_announcement>::iterator I;

if(directTrip()){
return(true) ;

}

I = UniverseOfDiscourse.begin();

if(validTrip(I,Origin)){
return(true) ;

}

return(false) ;

}

 " | "  "&&",    ,  -
,     .     
      operator (),   -
.      " | |" (.  12.6). 
   .

template <class > bool proposition<0::operator[|

(proposition &X)
{

return;(*this)() || X()) ;

}

     .

trip_announcement ;

perforinance_statement ;

if ( | ) {

// - .
}