#include #include "Array2T.h" using namespace std; Array2T::Array2T(size_t r, size_t c){ rows = r; cols = c; data = new int[rows*cols]; return ; } void Array2T::Copy( int * src) { size_t i; data = new int[rows*cols]; for(i=0; i < rows*cols; i++) { data[i] = src[i]; } return; } Array2T::Array2T(const Array2T & src){ rows = src.rows; cols = src.cols; Copy(src.data); return; } Array2T::~Array2T(){ delete [] data; } Array2T & Array2T::operator =(const Array2T & src){ delete [] data; rows = src.rows; cols = src.cols; Copy(src.data); return *this; } int Array2T::At(size_t r, size_t c) const{ if (r < rows and c < cols) { return data[r*cols + c]; } return 0; } void Array2T::Set(size_t r, size_t c, int d){ if (r < rows and c < cols) { data[r*cols + c] = d; } } size_t Array2T::Rows(void) const{ return rows; } size_t Array2T::Cols(void) const{ return cols; }