#include <iostream> using namespace std; class WWW {public: WWW(int a,int b):x(a),y(b){} private: const int x,y; // x y是静态的,可变的,怎样才能实现呢? int m[x][y]; };
//自己动态定义N维数组是完全可以的,虽然效率未必高。以二维数组为例,修改lz的代码.N维都可以类推。 #include <iostream> using namespace std; class WWW { public: WWW(int a,int b):x(a),y(b) { m = new int *[x]; //先定义一个指针数组,再用一个for循环来初始化这个指针数组. for(int i=0;i++;i<x) { m[i] = new int[y]; //指针数组里每个元素分别指向一个数组,以后就可m[i][j]这么使用了。 } } private: const int x,y; int **m; //二维数组,需要一个双指针.三维则要三指针,N维要N指针. }; //当然,用现成的容器类也是可以的。