#include #include #include "matrix.h" using namespace std; matrix::matrix(int r, int c){ myMatrix = new (int *)[r]; for(int i = 0; i < r; i++) myMatrix[i] = new int[c]; numRows = r; numCols = c; } matrix::matrix(const matrix & rhs){ numRows = rhs.numRows; numCols = rhs.numCols; myMatrix = new (int *)[numRows]; for(int i = 0; i < numRows; i++){ myMatrix[i] = new int[numCols]; for(int j = 0; j < numCols; j++) myMatrix[i][j] = rhs.myMatrix[i][j]; } } matrix::~matrix(){ for(int i = 0; i < numRows; i++) delete [] myMatrix[i]; delete [] myMatrix; } void matrix::operator =(const matrix & rhs){ if (myMatrix != rhs.myMatrix){ this -> ~matrix(); numRows = rhs.numRows; numCols = rhs.numCols; myMatrix = new (int *)[numRows]; for(int i = 0; i < numRows; i++){ myMatrix[i] = new int[numCols]; for(int j = 0; j < numCols; j++) myMatrix[i][j] = rhs.myMatrix[i][j]; } } } int * matrix::operator [](int i){ assert((i < numRows) && (i >= 0)); return myMatrix[i]; }