#include using namespace std; #include "myVector.h" template myVector::myVector():vec(NULL),size(0),capacity(INITSIZE){ vec= new T [capacity]; } template myVector::myVector(const myVector& toCopy):vec(NULL),size(0),capacity(0){ copy(toCopy); } template myVector& myVector::operator= (const myVector& toCopy){ if(this!=&toCopy){ del(); copy(toCopy); } return *this; } template myVector::~myVector(){ del(); } template void myVector::push_back(const T& toPush){ if(size==capacity) resizeUp(); vec[size++]=toPush; } template bool myVector::pop_back(){ if (size==0) return false; if (capacity>INITSIZE&&size--<=(capacity-2*INITSIZE)) resizeDown(); return true; } template uint myVector::getSize(){ return size; } template T& myVector::operator[] (uint at){ if (at>=size) exit (-1); return vec[at]; } template void myVector::resizeUp(){ capacity= capacity+INITSIZE; T* temp= new T[capacity]; for(uint i=0;i void myVector::resizeDown(){ capacity= capacity-INITSIZE; T* temp= new T[capacity]; for(uint i=0;i void myVector::copy(const myVector& toCopy){ capacity=toCopy.capacity; size=toCopy.size; vec = new T[capacity]; for (uint i=0;i void myVector::del(){ delete[] vec; } template void myVector::print(){ for(uint i=0; i