#ifndef __LIST_H #define __LIST_H template class list { T *A_data; public: list(unsigned int sz) : size(sz), A_data(new T[sz]) {} T &operator[](unsigned int i) {return(A_data[i]);} const T &operator[](unsigned int i) const {return(A_data[i]);} list &operator=(const list &rv) { for(unsigned int i = 0; i < size && i < rv.size; i++) A_data[i] = rv[i]; return(*this); } ~list() {delete[] A_data;} const unsigned int size; }; #endif