]> git.llucax.com Git - z.facultad/75.42/euler-oo.git/blobdiff - punto.h
Se hace menos agresivo al make clean.
[z.facultad/75.42/euler-oo.git] / punto.h
diff --git a/punto.h b/punto.h
index e8275bb1041d2118ed77b55d4b34a14c6c929277..55c4476b8e562d95d790d772bea80e489c2c3342 100644 (file)
--- a/punto.h
+++ b/punto.h
@@ -1,4 +1,4 @@
-/* vim: set et sts=4 sw=4 fdm=indent fdl=1 fdn=1 fo+=t tw=80:
+/* vim: set et sts=4 sw=4 fdm=marker fmr={,} fdn=1 fo+=t tw=80:
  *
  * Taller de Programación (75.42).
  *
 #ifndef PUNTO_H
 #define PUNTO_H
 
-/**
- * Punto de un plano.
- */
+#include <ostream>
+
+#ifdef DEBUG
+#   include <iostream>
+#endif
+
+/// Punto de un plano.
 struct Punto {
-    int x;
-    int y;
+
+    /// Coordenada x.
+    float x;
+
+    /// Coordenada y.
+    float y;
+
+    /// Constructor.
+    Punto(float x, float y): x(x), y(y) {
+#ifdef DEBUG
+        std::cerr << "En constructor de Punto." << std::endl;
+#endif
+    }
+
+    /// Constructor de copia.
+    Punto(const Punto& p): x(p.x), y(p.y) {
+#ifdef DEBUG
+        std::cerr << "En constructor de copia de Punto." << std::endl;
+#endif
+    }
+
+    /// Destructor.
+    virtual ~Punto(void) {
+#ifdef DEBUG
+        std::cerr << "En destructor de Punto." << std::endl;
+#endif
+    }
+
+    /// Dibuja un punto.
+    virtual void dibujar(std::ostream& out) const {
+        out << "Punto(" << x << ", " << y << ")";
+    }
+
 };
 
 #endif // PUNTO_H