类的构造函数如何与二维数组建立联系
时间: 2024-03-02 11:52:22 浏览: 60
c++中将二维数组元素变换为逆向存放的实现代码
5星 · 资源好评率100%
构造函数是一种特殊的成员函数,用于在创建类对象时初始化对象的数据成员。在C++中,可以使用构造函数来初始化二维数组的元素。
以下是一个示例,演示如何在类的构造函数中初始化二维数组:
```c++
class Matrix {
public:
int rows;
int cols;
int** data; // 二维数组
Matrix(int rows, int cols) {
this->rows = rows;
this->cols = cols;
// 动态分配内存
data = new int*[rows];
for (int i = 0; i < rows; i++) {
data[i] = new int[cols];
}
// 初始化二维数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
data[i][j] = i * j;
}
}
}
~Matrix() {
// 释放内存
for (int i = 0; i < rows; i++) {
delete[] data[i];
}
delete[] data;
}
};
```
这个类名为Matrix,它有三个数据成员:rows表示矩阵的行数,cols表示矩阵的列数,data是一个动态分配的二维数组。构造函数用于初始化这个矩阵,它首先动态分配了内存,然后使用两个for循环来初始化二维数组的每一个元素。在这个例子中,我们简单地将每个元素的值设置为其行数和列数的乘积。
现在我们可以创建一个Matrix对象,并访问它的数据成员:
```c++
Matrix m(3, 4);
cout << "Rows: " << m.rows << endl;
cout << "Cols: " << m.cols << endl;
for (int i = 0; i < m.rows; i++) {
for (int j = 0; j < m.cols; j++) {
cout << m.data[i][j] << " ";
}
cout << endl;
}
```
这样就可以输出以下结果:
```
Rows: 3
Cols: 4
0 0 0 0
0 1 2 3
0 2 4 6
```
这个结果就是我们在构造函数中初始化的矩阵。
阅读全文