238                                   8. :   

list::iterator iterator::operator++()
{

assert(ptr != 0) ;

ptr = ptr -> next;

return *this;

}

 ,    operator () 
 .

ostream& operator(ostream& out, list& x)
{ '

list::iterator p = x.begin(); // x.h

out  " = (";

while (p ;= 0) {

out  *p  ", "; // char&
++p;       //    next

)

cout  ") \n" ;

return out;

}

      listelem  
list: :iterator': : operator* ()    .

-    STL  ;      
        (.   13 
. 243  16  . 243).       
push_front (),     .     -
    .

  list2.h

void list::push_front(char c)
{

listelem* temp = new listelem(c, h, 0) ;

if (h != 0) { //  

h -> prev = temp;

h = temp;

}
else     //  

h = t = temp;

}

  1 i s t e 1 em   ,  .  
   ,        .
 ,   next   h 
listelem.

STL     .