#ifndef MATRIX_OF_DOUBLE_H #define MATRIX_OF_DOUBLE_H #include using namespace std; class MatrixOfDouble { public: MatrixOfDouble( int rows, int cols ) : array( rows ) { setNumCols( cols ); } int numrows( ) const { return array.size( ); } int numcols( ) const { return numrows( ) > 0 ? array[ 0 ].size( ) : 0; } void setNumRows( int rows ) { array.resize( rows ); } void setNumCols( int cols ) { for( int i = 0; i < numrows( ); i++ ) array[ i ].resize( cols ); } void setDimensions( int rows, int cols ) { setNumRows( rows ); setNumCols( cols ); } const vector & operator[]( int row ) const { return array[ row ]; } vector & operator[]( int row ) { return array[ row ]; } private: vector< vector > array; }; #endif