9.2.   247

{

stack<char*> stk(n);

for (int i = 0; i < n; ++i)

stk.push(str[i]) ;

for (int i = 0; i < n; ++i)

str[i] = stk.pop();

//     
void init(const complex c[], stack<complex>& stk, const int n)

{

for (int i = 0; i < n; ++i)
stk.push(c[i]) ;

}

-,     ,  .
           -
 .  ,      , 

TYPE top_of() const { return s[top]; }
   

template<class TYPE> TYPE stack<TYPE>::top_of() const
{ return s[top]; }

,        ,     
,  TYPE   .     

   template<class TYPE> stack.

template<class TYPE> stack<TYPE>::-stack()
{ delete []s; }

9.2.  

         ,    -
  . ,      -
   .   :

for (i = 0; i < n; ++i)
 [ i ] = b [ i ] ;

        -
  :

^define COPY(A, , N) \

{int i; for(i = 0; i < (N); ++i) (A)[i] = (B)[i];}

,     ,   -
 .  de f ine    ,   
    .       ,  
       (. -
 3  . 278).      ,  