用c++编二维数组array类的设计并重载下标运算符、函数调用运算符
#include <iostream>
using namespace std;
class Array {
private:
int **data;
int rows, cols;
public:
Array(int r, int c) {
rows = r;
cols = c;
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 operator()(int i, int j) {
return data[i][j];
}
};
int main() {
Array a(3, 4);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
a[i][j] = i * 4 + j;
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
cout << a(i, j) << " ";
}
cout << endl;
}
return 0;
}
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!