我已经在此页面的帮助下通过命令管理了一个项目。它有效,但似乎很复杂。
cout << arr[x][y];
现在,如何通过键入以下内容来更改数组中的特定数字:
arr[4][5]=10;
我的代码示例:
#include "stdafx.h"
#include <iostream>
using namespace std;
class Array {
private:
int row, col;
int** arr;
int size;
int count = 0;
public:
Array() { arr = 0; size = 0; }
Array(int row, int col);
// a piece of code from stackoverflow.com/questions/6969881/operator-overload
class Proxy {
private:
int* _arr;
public:
Proxy(int* _arr) {
this->_arr = _arr;
}
int operator[](int index) {
return _arr[index];
}
};
Proxy operator[](int index) {
return Proxy(arr[index]);
}
//////////////////////////////////////////////
};
Array::Array(int row, int col) {
size = row*col;
this->row = row;
this->col = col;
arr = new int* [row];
for (int i = 0; i < row; i++) {
arr[i] = new int[col];
for (int j = 0; j < col; j++) {
arr[i][j] = 0;
}
}
}
void main() {
Array first(5,5);
cout << first[0][0] << endl;
system("pause");
}
答案 0 :(得分:0)
好的,我终于通过简单地放了一个&amp ;.这很傻。
...
int& operator[](int index) {
return _arr[index];
}
...