[C++] Jak przeciążyć operator [][]

0

Witam. Jak można przeciążyć operator podwójnego wywołania nawiasu kwadratowego np. A[2][3] ?

0

Jako taki operator[][] nie istnieje, stąd też nie można go przeciążyć. Możesz za to albo zwracać z operatora[] typ który sam z siebie działa tablicowo (np dla macierzy wskaźnik na wiersz/kolum), albo zwracać kolejny typ z przeciążonym operatorem[].

0

Mogę prosić o przykład? Próbowałem coś sam zrobić ale mi nie wychodzi.

0
class Row
{
  double tablica[255];
  public:
  double& operator[] (int i)
  {
    return tablica[i];
  }
};

class Matrix
{
    Row tab[255];
    public:
    Row& operator[](int i)
   {
     return tab[i];
   }
};

1 użytkowników online, w tym zalogowanych: 0, gości: 1