Testując algorytm funkcji przeładowanego operatora, &amp; możemy samodzielnie stwierdzić, iż powtórne wykorzystanie jednoargumentowego operatora adresowego &amp; w celu pobrania adresów poszczególnych elementów zainicjowanej odpowiednimi wartościami tablicy tab z oczywistych względów okaże się czynnością niemożliwą do zrealizowania. Wynika to z faktu, iż tablica tab w istocie została zadeklarowana w funkcji main() jako pewien obiekt klasy array, w której uprzednio zdefiniowano już jednoargumentową funkcję operator &amp;() przeładowanego operatora &amp;.Przeładowywanie operatora indeksowania tablic IIOperator indeksowania tablic [] podczas przedefiniowywania traktowany jest jako operator dwuargumentowy i z powodzeniem może być przeładowany za pomocą funkcji składowej klasy bez potrzeby posługiwania się funkcją zaprzyjaźnioną.Ćwiczenie 3.9.Jako praktyczny przykład wykorzystania funkcji operator[][() przeładowanego operatora [] rozpatrzmy prostą klasę array, w której zadeklarowano jednowymiarową tablicę tablica o pięciu elementach typu double.Konstruktor array() przypisuje każdemu z jej elementów odpowiednią wartość początkową.Wartością powrotną funkcji przeładowanego operatora [] jest wartość elementu tablicy o numerze (indeksie) jednoznacznie określonym poprzez argument funkcji:Na listingu 3.6 pokazano praktyczny przykład zastosowania w programie omawianych funkcji.Ćwiczenie 3.10.Pokazaną w poprzednim ćwiczeniu funkcję przeładowanego operatora [] można zdefiniować również w ten sposób, aby operator [] mógł być używany zarówno po lewej, jak i po prawej stronie instrukcji przypisania. W tym celu wystarczy zastosować typ odwołaniowy wartości powrotnej funkcji operator[]():