Скачиваний:
17
Добавлен:
15.06.2014
Размер:
2.18 Кб
Скачать
яю0@0<5B@878@>20==K9  :;0AA    =5:>B>@K9  H01;>=,  =0  >A=>25  :>B>@>3> <>6=> AB@>8BL 4@C385 :;0AAK. -B>B :;0AA <>6=> @0AA<0B@820BL :0: =5:>B>@>5 >?8A0=85 <=>65AB20 :;0AA>2, >B;8G0NI8EAO B>;L:> B8?0<8 8E 40==KE.  !++ 8A?>;L7C5BAO  :;NG52>5  A;>2> template  4;O  >15A?5G5=8O  ?0@0<5B@8G5A:>3>  ?>;8<>@D87<0.



 !?5F8D8:0F8O H01;>=0 :;0AA0 8<55B 284: 

template <A?8A>: ?0@0<5B@>2> 

class >1JO2;5=85 :;0AA0 



template <class T> 

class vector 

{    T *ms; 

     int size;  

  public: 

     vector() : size(0),ms(NULL) {} 

     ~vector(){delete [] ms;} 

     void inkrem(const T &t)  // C25;8G5=85 @07<5@0 <0AA820 =0 1 M;5<5=B 

     {  T *tmp = ms;       

      ms=new T[size+1];      // ms   C:070B5;L =0 =>2K9 <0AA82 

      if(tmp) memcpy(ms,tmp,sizeof(T)*size); // ?5@570?8AL tmp -> ms 

       ms[size++]=t;               // 4>102;5=85 =>2>3> M;5<5=B0 

       if(tmp) delete [] tmp;     // C40;5=85 2@5<5==>3> <0AA820 

     }

    ...

}; 

void main() 

{  vector <int> VectInt; 

   vector <double> VectDouble; 

   VectInt. inkrem(3);

VectDouble. inkrem(1.2);

...

}