多维数组下标运算符重载计算机等级考试
文章作者 100test 发表时间 2010:01:01 13:02:26
来源 100Test.Com百考试题网
遇到一道笔试题:设计一个矩阵类,行和列数通过构造函数输入,支持a[][]取值和赋值。
这实际上就是一个二维数组下标运算符重载的问题,解决思路如下:
(1)用一维数组代替二维数组分配内存,从而获得连续的内存空间,取值时通过计算获得相应行和列上的值
(2)设计两个类,分别重载operator[],一个获取行,一个获取列
实现如下:
代码class MatrixEntry{
friend class Matrix. //友元类,访问私有变量m_currentRow
public:
MatrixEntry(int m, int n) : m_row(m), m_col(n)
{
m_pMatrix = new int[m * n * sizeof(int)].
}
~MatrixEntry()
{
0delete m_pMatrix.
}
int