#include<iostream>
using namespace std;
class Foo
{
public:
Foo();
~Foo();
int **Test2DArray(unsigned r, unsigned c);
private:
};
Foo::Foo()
{
}
Foo::~Foo()
{
}
// 返回指向
二维数组的指针函数
int ** Foo::Test2DArray(unsigned r, unsigned c){
int ** arr2d = 0;
arr2d = new int*[r];
for (int i = 0; i < r; i++)
{
arr2d[i] = new int[c];
for (int j = 0; j < c; j++)
{
arr2d[i][j] = j + c*i;
}
}
return arr2d;
}
int main(){
Foo *foo = new Foo();
int **arr2d = foo->Test2DArray(3, 4);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
cout << arr2d[i][j] << " ";
}
cout << endl;
}
// 释放内存
for (int i = 0; i < 3; i++)
{
delete[] arr2d[i];
}
delete[] arr2d;
delete foo;
return 0;
}
本回答被提问者和网友采纳