// ourvec.h #include using namespace std; template class vector { protected: T * data; int size, num; void enlarge() { int newsize = size * 2; if (newsize == 0) newsize = 1; T * news = new T [newsize]; for (int i = 0; i < num; i += 1) news[i] = data[i]; delete [] data; data = news; size = newsize; } public: vector(int initsize = 0) { size = initsize; num = 0; data = new T[size]; } ~vector() { delete [] data; } T & get(int i) { if (i < 0 || i >= num) { cout << "index out of bounds\n"; abort(); } return data[i]; } int get_num() { return num; } void push_back(T s) { if (num >= size) enlarge(); data[num] = s; num += 1; } void copy_from(vector &v) { delete [] data; size = 0; num = 0; data = new T[size]; int i; for(i=0;i