--- /dev/null
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=0 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 2:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Thu Sep 18 21:07:44 ART 2003
+ *
+ * $Id$
+ */
+
+#include "dllist.h"
+#include "dibujo.h"
+
+Dibujo::Dibujo(void): figuras() {}
+
+Dibujo::~Dibujo(void) {
+}
+
+bool Dibujo::agregar_figura(const Figura& figura) {
+ return figuras.push(&figura);
+}
+
+void Dibujo::borrar_todo(void) {
+ // Saco cada elemento de la lista, liberando su memoria.
+ while (!figuras.empty()) {
+ delete figuras.pop();
+ }
+}
+
+void Dibujo::dibujar(void) {
+ // Dibujo cada elemento.
+ for (Figura* f = figuras.begin(); figuras.have_more(); f = figuras.next()) {
+ cout << f << endl; // FIXME
+ }
+}
+
--- /dev/null
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 3:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Wed Sep 17 21:07:54 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef DIBUJO_H
+#define DIBUJO_H
+
+/**
+ * Representa un conjunto de figuras.
+ */
+class Dibujo {
+
+ protected:
+ /// Lista de figuras.
+ DLList figuras;
+
+ public:
+ /**
+ * Constructor.
+ */
+ Dibujo(void);
+
+ /**
+ * Destructor.
+ * Elimina todas las figuras en el Dibujo.
+ */
+ virtual ~Dibujo(void);
+
+ /**
+ * Agrega una figura.
+ *
+ * \return true si se pudo agregar, false si no.
+ */
+ bool agregar_figura(const Figura& figura);
+
+ /**
+ * Borra todas las figuras.
+ */
+ void borrar_todo(void);
+
+ /**
+ * Dibuja.
+ */
+ virtual void dibujar(void) const;
+
+}
+
+#endif /* DIBUJO_H */
--- /dev/null
+/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+ *
+ * Taller de Programación (75.42).
+ *
+ * Ejercicio Número 3:
+ * TODO
+ *
+ * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
+ * Puede copiar, modificar y distribuir este programa bajo los términos de
+ * la licencia GPL (http://www.gnu.org/).
+ *
+ * Creado: Thu Sep 18 21:34:56 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef FIGURA_H
+#define FIGURA_H
+
+/**
+ * Figura dibujable.
+ */
+class Figura {
+ protected:
+
+ /// Color.
+ size_t color;
+
+ /// Grosor.
+ size_t grosor;
+
+ /// Centro.
+ Punto centro;
+
+ /// Nombre.
+ string nombre;
+
+ public:
+
+ /**
+ * Constructor.
+ */
+ Figura(size_t color, size_t grosor, const Punto& centro,
+ const std::string& nombre);
+
+ /**
+ * Destructor.
+ */
+ virtual ~Figura(void);
+
+ /**
+ * Dibuja.
+ */
+ virtual void dibujar(void) const;
+
+}
+
+#endif /* FIGURA_H */