我有一个重载的类[]
,当我尝试将值设置为数组时,我需要让它识别。我假设,我将不得不重载 operator =
,但我不知道,整个东西会是什么样子。我的部分代码:
class Matrix {
public:
Matrix(int x, int y);
~Matrix(void);
Matrix& operator =(const Matrix &matrix); //ok...this is probably wrong...
class Proxy {
public:
Proxy(double* _array) : _array(_array) {
}
double &operator[](int index) const {
return _array[index];
}
private:
double* _array;
};
Proxy operator[](int index) const {
return Proxy(_arrayofarrays[index]);
}
Proxy operator[](int index) {
return Proxy(_arrayofarrays[index]);
}
int x, y;
double** _arrayofarrays;
};
所以我只需要能够识别我何时尝试设置Matrix matrix(3,3); matrix[0][0]=1;
其他一切都可以正常工作,所以我认为不需要粘贴整个代码