-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIteradorListaPosImp.cpp
69 lines (55 loc) · 1.33 KB
/
IteradorListaPosImp.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include "IteradorListaPosImp.h"
#ifndef ITERADORLISTAPOSIMP_CPP
#define ITERADORLISTAPOSIMP_CPP
template <class T>
IteradorListaPosImp<T>::IteradorListaPosImp() {
lista = NULL;
actual = 0;
}
template <class T>
IteradorListaPosImp<T>::IteradorListaPosImp(const ListaPosImp<T> &l) {
lista = &l;
actual = 0;
}
template <class T>
IteradorListaPosImp<T>::IteradorListaPosImp(const IteradorListaPosImp<T> &it) {
lista = it.lista;
actual = it.actual;
}
template <class T>
Iterador<T> &IteradorListaPosImp<T>::operator=(const IteradorListaPosImp<T> &it) {
if (this != &it) {
lista = it.lista;
actual = it.actual;
}
return *this;
}
template <class T>
Iterador<T> *IteradorListaPosImp<T>::Clon() const {
IteradorListaPosImp<T> *it = new IteradorListaPosImp<T>(*this);
return it;
}
template <class T>
IteradorListaPosImp<T>::~IteradorListaPosImp() {
}
template <class T>
const T &IteradorListaPosImp<T>::Elemento() const {
return lista->ElementoPos(actual);
}
template <class T>
T &IteradorListaPosImp<T>::ElementoInseguro() const {
return lista->ElementoPos(actual);
}
template <class T>
void IteradorListaPosImp<T>::Resto() {
actual++;
}
template <class T>
bool IteradorListaPosImp<T>::EsFin() const {
return actual >= lista->CantidadElementos();
}
template <class T>
void IteradorListaPosImp<T>::Principio() {
actual = 0;
}
#endif