#pragma once class Array2T{ public: Array2T(); Array2T(size_t r, size_t c); Array2T(const Array2T & other); ~Array2T(); Array2T & operator = (const Array2T & other); int operator[] (size_t r, size_t c) const; int & operator[] (size_t r, size_t c); size_t Rows() const; size_t Cols() const; private: int * data; size_t rows, cols; };