]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/blobdiff - dibujo.cpp
Primera versión compilable de Dibujo.
[z.facultad/75.42/euler-oo.git] / dibujo.cpp
index 23ac3b36cee375498c65afb5ea2e94ced63d220c..c8106e603d870fc6d05a975d8cb4cac6758017f9 100644 (file)
@@ -2,8 +2,8 @@
  *
  * Taller de Programación (75.42).
  *
- * Ejercicio Número 2:
- * TODO
+ * Ejercicio Número 3:
+ * Lista de figuras.
  *
  * Copyleft 2003 - Leandro Lucarella <llucare@fi.uba.ar>
  * Puede copiar, modificar y distribuir este programa bajo los términos de
@@ -15,6 +15,7 @@
  */
 
 #include "dllist.h"
+#include "figura.h"
 #include "dibujo.h"
 
 Dibujo::Dibujo(void): figuras() {}
@@ -22,21 +23,22 @@ Dibujo::Dibujo(void): figuras() {}
 Dibujo::~Dibujo(void) {
 }
 
-bool Dibujo::agregar_figura(const Figura& figura) {
-    return figuras.push(&figura);
+bool Dibujo::agregar_figura(Figura* figura) {
+    return figuras.push(static_cast<void*>(figura));
 }
 
 void Dibujo::borrar_todo(void) {
     // Saco cada elemento de la lista, liberando su memoria.
     while (!figuras.empty()) {
-        delete figuras.pop();
+        delete static_cast<Figura*>(figuras.pop());
     }
 }
 
 void Dibujo::dibujar(void) {
     // Dibujo cada elemento.
-    for (Figura* f = figuras.begin(); figuras.have_more(); f = figuras.next()) {
-        cout << f << endl; // FIXME
+    for (Figura* f = static_cast<Figura*>(figuras.begin());
+            figuras.have_more(); f = static_cast<Figura*>(figuras.next())) {
+        // TODO cout << f << endl; // FIXME
     }
 }