在 C++ 程序中,这里有两个运算符标题用作未显示的矩阵实现的 setter 和 getter。
double* Matrix::operator[](unsigned int row) const throw (MatrixException);
double* Matrix::operator[](unsigned int row) throw (MatrixException);
在不进一步了解上述运算符的实现的情况下,只需查看上述运算符是如何定义的,如果同时实现这两种方法,矩阵程序中的设计缺陷将是什么。
关于 [] 运算符如何工作的说明: 矩阵设置如下:
Matrix *a = new Matrix(1,2); //matrix with one row and two columns
a[0][0] = 3.0;
a[0][1] = 2.3;
//to access a matrix value
double* b = a[0][1];
delete a;
编辑:您会在运算符定义中进行哪些更改以修复设计缺陷?