]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/blobdiff - figura.cpp
Se termina el trabajo práctico. Sólo falta el informe.
[z.facultad/75.42/euler-oo.git] / figura.cpp
index 95a4323505de9b32b280d25cc245a8ccf29ce1e5..1d81d9ac21dda9aa21e1973c7faf087716b9dcb5 100644 (file)
@@ -1,4 +1,4 @@
-/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=0 fo+=t tw=80:
+/* vim: set et sts=4 sw=4 fdm=indent fdn=1 fo+=t tw=80:
  *
  * Taller de Programación (75.42).
  *
  * $Id$
  */
 
-#include "punto.h"
 #include "figura.h"
 #include <cstring>
 
+#ifdef DEBUG
+#   include <iostream>
+#endif
+
 Figura::Figura(size_t color, size_t grosor, const Punto& centro,
-        const char* nombre): color(color), grosor(grosor), centro(centro) {
+        const char* nombre): centro(centro) {
+    if (color > 15) {
+        this->color = 15;
+    } else if (color < 0) {
+        this->color = 0;
+    } else {
+        this->color = color;
+    }
+    if (grosor > 10) {
+        this->grosor = 10;
+    } else if (grosor < 1) {
+        this->grosor = 1;
+    } else {
+        this->grosor = grosor;
+    }
+#ifdef DEBUG
+    std::cerr << "En constructor de Figura." << std::endl;
+#endif
      strncpy(this->nombre, nombre, 30);
 }
 
-Figura::~Figura(void) {}
+Figura::~Figura(void) {
+#ifdef DEBUG
+    std::cerr << "En destructor de Figura." << std::endl;
+#endif
+}
 
-void Figura::dibujar(void) const {
-    // TODO cout << f << endl; // FIXME
+void Figura::dibujar(std::ostream& out) const {
+    out << "color(" << color << "), grosor(" << grosor
+        << "), nombre(" << nombre << "), centro(";
+    centro.dibujar(out);
+    out << ")";
 }