076

076



public:

int weżWart(int nPrzes)

{

if (nPrzes < sizeof(buf) && nPrzes > 0) return buf [nPrzes]; else

return 0;

};


}

Tak jak we wskazówce 65., przed odwołaniem się do elementu w tablicy, nale sprawdzić, czy indeks mieści się w granicach tablicy. Jeśli o tym zapomnimy, to mo żerny błędnie wskazać na pamięć poza tablicą lub niepotrzebnie coś zapisać. Odnale-I zienie źródła błędu może okazać się trudne, W przykładowym kodzie znów spraw-! dzamy, czy indeks nie wykracza poza granice tablicy.

cośEK] oznacza to samo, co coś.operator[](K)

pisanie czytelnego kodu

Kod źródłowy

T&Maks{void)

{

return operator[] (LokM() - 1); //return *this[LokM()-1];

}

};

Instrukcja:

coś[k]

jest równoważna instrukcji: coś.operator[] (k)

Ostatnie wyrażenie bywa na ogół trochę bardziej skomplikowane. Składnia ta jest jednak bardzo użyteczna wówczas, gdy musimy przeprowadzić indeksowanie tablicy za pomocą wskaźnika this, tak jak pokazano w kodzie źródłowym.

Jeśli nie odpowiada nam notacja operatorowa, to zawsze możemy użyć notacji z indeksem tablicy, tak jak w komentarzu przykładu. W wypadku tego rozwiązania należy zwrócić uwagę na to, że jest to odwołanie do wskaźnika.


Wyszukiwarka

Podobne podstrony:
18 p05 #include <stdio.h> #include <conio.c> class HojaKlasa { public: int
18 p06 #include <stdio.h> #include <conio.c> class HojaKlasa { public: int
19 p02 #include <stdio.h> class próba { public: int    aa; int
19 p03 #include <stdio.h> class próba { public: int    aa; int
19 p04 #include <stdio.h> class próba { public: int    aa; int
140 TIF char *m_pch; public: int operator==(const Napis& napis) const{ return(strcmp(m_pch, napi

więcej podobnych podstron