]> git.llucax.com Git - z.facultad/75.42/string.git/blobdiff - ascii.h
Se agrega un primera version del tp.
[z.facultad/75.42/string.git] / ascii.h
diff --git a/ascii.h b/ascii.h
index 78201b53e9779d8dc74fde93f96cd40f43599c07..05316e3c9e6f156e1322ba7f9002fe4a3c6c6a69 100644 (file)
--- a/ascii.h
+++ b/ascii.h
@@ -33,56 +33,37 @@ class Ascii {
     public:
 
         /// Constructor.
-        Ascii(char c = '0'): caracter(c) {
-#ifdef DEBUG
-            std::cerr << "En constructor de Ascii." << std::endl;
-#endif
-        }
+        Ascii(char c = '0');
 
         /// Constructor de copia.
-        Ascii(const Ascii& ascii): caracter(ascii.caracter) {
-#ifdef DEBUG
-            std::cerr << "En constructor de copia de Ascii." << std::endl;
-#endif
-        }
+        Ascii(const Ascii& ascii);
 
         /// Destructor.
-        virtual ~Ascii(void) {
-#ifdef DEBUG
-            std::cerr << "En destructor de Ascii." << std::endl;
-#endif
-        }
+        virtual ~Ascii(void);
+
+        /// Indica si el caracter es de fin de línea.
+        bool is_endl(void) const;
 
         /// Asignación de una instancia a otra.
-        Ascii& operator=(const Ascii& ascii) {
-#ifdef DEBUG
-            std::cerr << "En operator= de Ascii." << std::endl;
-#endif
-            caracter = ascii.caracter;
-            return *this;
-        }
+        Ascii& operator=(const Ascii& ascii);
 
         /// Comparación por menor de dos instancias.
-        bool operator<(const Ascii& ascii) {
-#ifdef DEBUG
-            std::cerr << "En operator< de Ascii." << std::endl;
-#endif
-            return caracter < ascii.caracter;
-        }
+        bool operator<(const Ascii& ascii) const;
 
         /// Comparación por igual de dos instancias.
-        bool operator==(const Ascii& ascii) {
-#ifdef DEBUG
-            std::cerr << "En operator== de Ascii." << std::endl;
-#endif
-            return caracter == ascii.caracter;
-        }
+        bool operator==(const Ascii& ascii) const;
+
+        /// Cast a char.
+        operator char(void) const;
+
+        /// Cast a short.
+        operator short(void) const;
 
         /// Volcado a un stream de salida.
         friend std::ostream& operator<<(std::ostream& out, const Ascii& ascii);
 
         /// Captura desde un stream de entrada.
-        friend std::istream& operator>>(std::istream& in, const Ascii& ascii);
+        friend std::istream& operator>>(std::istream& in, Ascii& ascii);
 
 };