Commit aa3ae867 by Szeberényi Imre

const_iterator kommentek

parent c68a49e6
......@@ -57,7 +57,7 @@ public:
/// létrehoz egy konstans objektumra alkalmazható iterátort és az elejére állítja
/// @return - iterátor az adatsorozat elejére
const_iterator begin() const {
return const_iterator(*this); // ld. iterátor konstruktor
return const_iterator(*this);// ld. iterátor konstruktor
}
/// létrehoz egy iterátort és az utolsó elem után állítja
......@@ -126,13 +126,13 @@ public:
/// egyenlőtlenség vizsgálat
/// @param i - jobboldali operandus
bool operator!=(const iterator &i) {
bool operator!=(const iterator &i) const {
return(idx != i.idx);
}
/// egyenlőség vizsgálat
/// @param i - jobboldali operandus
bool operator==(const iterator &i) {
bool operator==(const iterator &i) const {
return !operator!=(i);
}
......@@ -143,14 +143,17 @@ public:
}
/// Szelekció pointerrel (nyíl). Címet kell, hogy adjon.
T* operator->() {
T* operator->() const {
return &operator*();
}
}; // iterator osztály vége
/// const_iterator osztály
/// const_iterator osztály.
/// Visszavezetjük az iterator osztályra.
/// A kompatibilitas miatt azonban a conts_itarator betehető egy itaratorba, így
/// a kontans objektum adata is elérhetővé válik balértékként is.
/// Privat öröklés jobb megoldás lenne, úgy azonban minden tagfüggvényt az ősből delegálni kell.
class const_iterator : public iterator {
public:
/// default konstruktor
......@@ -160,10 +163,12 @@ public:
/// @param a - a konkrét objektum
/// @param ix - ide állítja az indexet
const_iterator(const Array& a, size_t ix = 0)
: iterator(const_cast<Array&>(a), ix) {} /// Kis trükközés a kasztolással...
: iterator(const_cast<Array&>(a), ix) {} /// Kis trükközés a kasztolással: Levesszük a
/// konstans attribútumot, de nem fogjuk írni.
const T& operator*() const {
return iterator::operator*();
/// indirekció
const T& operator*() const { /// Ezen keresztül biztosan nem fogjuk írni, de sajnos a kompatibilitás
return iterator::operator*(); /// miatt egy const_itarator -> itarator konverzió nem kerül semmibe...
}
/// Szelekció pointerrel (nyil). Címet kell, hogy adjon.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment