如何重载operator []动态矩阵返回值!? C ++

时间:2014-11-22 20:55:18

标签: c++

class matrix {
public:
  int **A;
  int nrColoane;
  int nrLinii;

 public:        
     int& operator[] (int nrLinii, int nrColoane);
};

2 个答案:

答案 0 :(得分:1)

我担心这是不可能的。解决问题的常用方法是重载operator()。

class Matrix {
    public:
        int& operator () (int i, int j);
};

答案 1 :(得分:1)

正如其他人所提到的,使用operator()来解决问题很常见。另一种方法是仍然使用operator[]获取一个参数,但返回一个表示一行的对象(并保留对原始对象的引用)。然后行对象将再次实现operator[]并返回实际值。