X-Git-Url: https://git.llucax.com/z.facultad/75.42/euler-oo.git/blobdiff_plain/2ad7702430009b7adee71c280ad23a7c184fa0c8..05e3266645418717eaf79715c053725ea7115266:/dibujo.cpp diff --git a/dibujo.cpp b/dibujo.cpp index 23ac3b3..c8106e6 100644 --- a/dibujo.cpp +++ b/dibujo.cpp @@ -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 * 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(figura)); } void Dibujo::borrar_todo(void) { // Saco cada elemento de la lista, liberando su memoria. while (!figuras.empty()) { - delete figuras.pop(); + delete static_cast(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(figuras.begin()); + figuras.have_more(); f = static_cast(figuras.next())) { + // TODO cout << f << endl; // FIXME } }