160  6.    

//    ch_stack
ch_stack::ch_stack() : max_len(100),top(EMPTY)
{

s = new char[100];

assert(s != 0) ;

}

//  

ch_stack::ch_stack(int size, const char str[J) : max_len(size)

{

int i ;

assert(size > 0) ;

s = new char[size];

assert(s '.= 0) ;

for (i = 0; i < max_len && str[i] \= 0; ++i)
s[i] = str[i] ;

t op = - - i ;

         
ch_stack.     :

ch_stack data;            // s[100]

ch_stack d[N];            //N   100 

ch_stackw(4, "ABCD");    //w.s[0]='A' ... w.stBJ^'D'

6.2.1.  

    ,     . -
     ,      , 
      .        -
 ?        :

  ch_stac4.cpp

int cnt_char(char , ch_stack s)
{

int count = 0;

while (is.empty())

count += (c == s.pop());

return count;

}

    ,      -
,       ,   -
  .      (copy
constructor).      .
  :

ch_stack::ch_stack(const ch_stack&) ;