204                                             7. Ad hoc 

assert(p i = 0) ;

for (int i = 0; i < size; ++i)
p[i] = a[i] ;

}

vect::vect(const vect& v) : size(v.size)
{

p = new int[size];

assert(p != 0) ;

for (int i = 0; i < size; ++i)
p[i] = v. p [ i ] ;

}

int& vect::operator[](int i)
{

assert(i >= 0 && i < size);

return p[i] ;

}

        
   .      -
  ,  ,   .
,     :

_& operator[](_);

       .

         .
        .
        -
.  -     vect:

vect& vect::operator=(const vect& v)

if (this != &v) {//   

//    
assert(v.size == size) ;

for (int i = 0.; i < size; ++i)
p[i] = v. p [ i ] ;

}
return *this;

}

  vect: :operator=(const vect& v)

 vect& vect::operator=(const vect& v)

 operator= ()    vect     
   vect.      