分页:
上一页 1 2 3 [4] 5 6 7 8 9 下一页
double operator() (unsigned row, unsigned col) const; // ...
Matrix(); // 析构函数
Matrix(const Matrix& m); // 拷贝构造函数
Matrix& operator= (const Matrix& m); // 赋值算符 // ...
private:
unsigned rows_, cols_;
double* data_;
};
inline
Matrix::Matrix(unsigned rows, unsigned cols)
: rows_ (rows),
cols_ (cols),
data_ (new double[rows * cols])
{
if (rows == 0 || cols == 0)
throw BadIndex("Matrix constructor has 0 size");
}
inline
Matrix::~Matrix()
{
delete[] data_;
}
inline
double& Matrix::operator() (unsigned row, unsigned col)
{
if (row >= rows_ || col >= cols_)
throw BadIndex("Matrix subscript out of bounds");
return data_[cols_*row + col];
}
inline
double Matrix::operator() (unsigned row, unsigned col) const
{
if (row >= rows_ || col >= cols_)
throw BadIndex("const Matrix subscript out of bounds");
return data_[cols_*row + col];
分页:
上一页 1 2 3 [4] 5 6 7 8 9 下一页