#include<iostream>
using namespace std;
class CArray
{
int n, m;
int** data;
public:
CArray(){}
CArray(int nValue, int mValue) :n(nValue), m(mValue)
{
data = new int* [n];
for (int i = 0; i < n; i++)
data[i] = new int[m];
}
~CArray()
{
//for (int i = 0; i < n; i++)
// delete []data[i];
//delete[]data;
}
int* & operator [](int i)
{
return this->data[i];
}
int& operator ()(int i, int j)
{
return this->data[i][j];
}
};
int main()
{
int t;
int n, m;
int i, j;
cin >> t;
while (t--)
{
cin >> n >> m;
CArray matrixA(n, m);
for (i = 0; i < n; ++i)
for (j=0;j<m;j++)
cin >> matrixA[i][j];
cout << "MatrixA:" << endl;
for (i = 0; i < n; ++i)
{
for (j = 0; j < m; j++)
{
cout << matrixA(i, j) << " ";
}
cout << endl;
}
cout << "MatrixB:" << endl;
CArray matrixB;
matrixB = matrixA;
for (i = 0; i < n; ++i)
{
for (j = 0; j < m; j++)
{
cout << matrixB[i][j] << " ";
}
cout << endl;
}
}
return 0;
}
析构函数内容用注释标记,加了过后程序的循环只能运行一次,然后就退出了,交到oj上的结果是运行时异常,搜了一下也没有太懂,希望能有大佬帮忙解答,谢谢