*/
#include "dllist.h"
+#include "figura.h"
#include "dibujo.h"
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
}
}
#ifndef DIBUJO_H
#define DIBUJO_H
+#include "dllist.h"
+#include "figura.h"
+
/**
* Representa un conjunto de figuras.
*/
*
* \return true si se pudo agregar, false si no.
*/
- bool agregar_figura(const Figura& figura);
+ bool agregar_figura(Figura* figura);
/**
* Borra todas las figuras.
/**
* Dibuja.
*/
- virtual void dibujar(void) const;
+ virtual void dibujar(void);
-}
+};
#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:
+ * Lista de figuras.
+ *
+ * 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: vie sep 19 01:38:17 ART 2003
+ *
+ * $Id$
+ */
+
+#ifndef PUNTO_H
+#define PUNTO_H
+
+/**
+ * Punto de un plano.
+ */
+struct Punto {
+ int x;
+ int y;
+};
+
+#endif // PUNTO_H