如何在c ++中重载双下标operator [] []?
我尝试了很多方法..没有具体的答案可供选择..
提前感谢..
我试过这个..但我知道它不正确
class Matrix {
int row;
int col;
int ** values;
int ptr;
public:
Matrix(const int r, const int c) {
ptr = -1;
row = r;
col = c;
values = new int*[row];
for(int i=0; i<row; i++) {
values[i] = new int[col];
}
}
int & operator[](int p) {
if(ptr == -1)
ptr = p;
return values[ptr][p];
}
};
答案 0 :(得分:1)
双下标运算符
[][]
C ++中没有双下标运算符。你可以做的是重载operator[]
以返回一个也重载operator[]
的对象。这样您就可以编写m[i][j]
。