X-Git-Url: https://git.llucax.com/z.facultad/75.42/euler-oo.git/blobdiff_plain/311f7855bfd0a11c40a239edf199c14c31f8025d..5606b56d79fe65b2868ebb64fe7f6cb023668b32:/dllist.h diff --git a/dllist.h b/dllist.h index 94c7d54..162ce25 100644 --- a/dllist.h +++ b/dllist.h @@ -3,7 +3,7 @@ * Taller de Programación (75.42). * * Ejercicio Número 3: - * TODO + * Lista de figuras. * * Copyleft 2003 - Leandro Lucarella * Puede copiar, modificar y distribuir este programa bajo los términos de @@ -17,39 +17,47 @@ #ifndef DLLIST_H #define DLLIST_H -/** Nodo de la lista doblemente enlazada. */ +#include + +/// Nodo de la lista doblemente enlazada. struct DLListNode { - /** Puntero al nodo anterior. */ + + /// Puntero al nodo anterior. DLListNode* prev; - /** Datos almacenados en el nodo. */ + + /// Datos almacenados en el nodo. void* data; - /** Puntero al próximo nodo. */ + + /// Puntero al próximo nodo. DLListNode* next; + + /// Constructor. + DLListNode(DLListNode* prev = NULL, void* data = NULL, + DLListNode* next = NULL): prev(prev), data(data), next(next) {} + }; -/** - * Lista doblemente enlazada. - */ +/// Lista doblemente enlazada. class DLList { protected: - /** Puntero al primer nodo. */ - DLListNode* first; - /** Puntero al nodo actual. */ - DLListNode* current; - /** Puntero al último nodo. */ - DLListNode* last; + + /// Puntero al primer nodo. + DLListNode* _first; + + /// Puntero al nodo actual. + DLListNode* _current; + + /// Puntero al último nodo. + DLListNode* _last; public: - /** - * Crea una nueva lista. - */ + + /// Crea una nueva lista. DLList(void); - /** - * Libera la memoria ocupada por una lista. - */ - ~DLList(void); + /// Libera la memoria ocupada por una lista. + virtual ~DLList(void); /** * Indica si está vacía. @@ -204,4 +212,6 @@ class DLList { */ void* remove_current(void); +}; + #endif /* DLLIST_H */