template class list { T *A_data; unsigned int A_size; public: list(unsigned int sz) : A_size(sz) {A_data = new T[sz];} T &operator[](unsigned int index) {return(A_data[index]);} list operator=(const list &right) { delete[] A_data; A_data = right.A_data; A_size = right.A_size; return(A_data); } unsigned int size() const {return(A_size);} ~list() {delete[] A_data;} };