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ść?
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ść?
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).
a ja tylko dodam: BYLO, SZUKAJ. dopiero co byl dluuuuugiii watek o tym.