]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/blobdiff - dllist.h
Primera version de Rectangulo.
[z.facultad/75.42/euler-oo.git] / dllist.h
index 94c7d54c1d96213ddd7430e772e730539a357009..162ce255adca79b6ff1377c3cc49a7b5257dcffa 100644 (file)
--- a/dllist.h
+++ b/dllist.h
@@ -3,7 +3,7 @@
  * Taller de Programación (75.42).
  *
  * Ejercicio Número 3:
  * Taller de Programación (75.42).
  *
  * Ejercicio Número 3:
- * TODO
+ * Lista de figuras.
  *
  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
  * Puede copiar, modificar y distribuir este programa bajo los términos de
  *
  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
  * Puede copiar, modificar y distribuir este programa bajo los términos de
 #ifndef DLLIST_H
 #define DLLIST_H
 
 #ifndef DLLIST_H
 #define DLLIST_H
 
-/** Nodo de la lista doblemente enlazada. */
+#include <cstdlib>
+
+/// Nodo de la lista doblemente enlazada.
 struct DLListNode {
 struct DLListNode {
-    /** Puntero al nodo anterior. */
+
+    /// Puntero al nodo anterior.
     DLListNode* prev;
     DLListNode* prev;
-    /** Datos almacenados en el nodo. */
+
+    /// Datos almacenados en el nodo.
     void* data;
     void* data;
-    /** Puntero al próximo nodo. */
+
+    /// Puntero al próximo nodo.
     DLListNode* next;
     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:
 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:
 
     public:
-        /**
-         * Crea una nueva lista.
-         */
+
+        /// Crea una nueva lista.
         DLList(void);
 
         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.
 
         /**
          * Indica si está vacía.
@@ -204,4 +212,6 @@ class DLList {
          */
         void* remove_current(void);
 
          */
         void* remove_current(void);
 
+};
+
 #endif /* DLLIST_H */
 #endif /* DLLIST_H */