C++动态生成二维类数组
时间: 2023-09-05 08:08:05 浏览: 121
在C++中动态生成二维类数组,可以使用指针数组的方式来实现。具体操作如下:
```c++
class MyClass {
public:
MyClass() {}
~MyClass() {}
// 其他类成员函数
private:
int value;
};
int row = 5; // 行数
int col = 4; // 列数
// 动态分配一个指针数组,每个指针指向一维MyClass数组
MyClass **arr = new MyClass*[row];
// 动态分配每个一维数组
for (int i = 0; i < row; i++) {
arr[i] = new MyClass[col];
}
// 对二维数组进行赋值操作
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
arr[i][j].setValue(i * col + j);
}
}
// 访问二维数组中的元素
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
cout << arr[i][j].getValue() << " ";
}
cout << endl;
}
// 释放内存
for (int i = 0; i < row; i++) {
delete[] arr[i];
}
delete[] arr;
```
以上代码中,我们首先定义了一个 `MyClass` 类,然后动态分配一个指针数组 `arr`,其大小为 `row`,每个指针指向一个一维 `MyClass` 数组。然后我们再动态分配每个一维数组,其大小为 `col`。最后可以对二维数组进行赋值和访问操作,记得在使用完毕后释放内存。注意在类成员函数中,我们需要定义 `setValue` 和 `getValue` 函数来对 `value` 成员变量进行赋值和访问。
阅读全文