show:二维数组array类的设计并重载下标运算符、函数调用运算符
#include <iostream>
using namespace std;
class Array {
private:
int** data;
int rows, cols;
public:
Array(int rows, int cols) : rows(rows), cols(cols) {
data = new int*[rows];
for (int i = 0; i < rows; i++) {
data[i] = new int[cols];
}
}
~Array() {
for (int i = 0; i < rows; i++) {
delete[] data[i];
}
delete[] data;
}
int* operator[](int i) {
return data[i];
}
};
int main() {
Array arr(2, 3);
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}