我有一个需要有一个二维数组的类,我可以在构造过程中通过传递两个参数来对其进行初始化。如何在类中声明二维动态数组。
class Life
{
public:
Life (int rows, int cols);
~Life ();
Life(const Life& orig);
Life& operator=(const Life& rhs);
void init();
void print();
void update();
void instructions();
bool user_says_yes();
private:
int rows;
int cols;
int neighbor_count(int row, int col);
int** grid;
};
Life::Life(int row, int col)
{
rows = row;
cols = col;
grid = new [rows][cols];
}
我知道数组有问题,因为在构造函数中它说它应该是一个常量值。但在用户输入值之前,我不会知道该值。但不知何故,我需要在这个类中有一个数组,它将被动态创建为指定的大小。现在我不能使用向量,但是如果你知道如何使它与向量一起工作,它可能会帮助其他人。