[C++] Przeciążanie operatora [] - wiele argumentów

0

Witam Wszystkich!

Mam pytanie... da się jakoś przeciążyć operator [] w ten sposób aby przyjmował więcej niż jeden argument? Jego wywołanie mogłoby być takie jak do tablic wielowymiarowych. Jest taka możliwość?

0

Nie. Operator [] zwraca jakas wartosc, ktora tez moze miec przeladowany operator, wiec na niej z kolei mozesz go wywolac. Czyli przykladowo

class A
{
  public:
   int operator [](int i) {return 1;} 
};

class B
{
  A [] tab;

  public:
    A operator[](int i){return tab[i];}
}

int main()
{
  B b;
  wypisz(b[1][0]);
}

b[1] zwraca obiekt typu A, na nim z kolei wywolywany jest operator [0] (bo mozna), w efekcie z calego wywolania dostajesz inta (a dokladniej 1).

0

a ja tylko dodam: BYLO, SZUKAJ. dopiero co byl dluuuuugiii watek o tym.

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