X-Git-Url: https://git.llucax.com/z.facultad/75.42/string.git/blobdiff_plain/3f864f6a35a86b4d93dc851f6afc6e61eaf572b7..b18e440563dabec6bef71cbfa954bc5e38c84ca6:/ascii.h?ds=sidebyside diff --git a/ascii.h b/ascii.h index 78201b5..05316e3 100644 --- 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); };