]> git.llucax.com Git - z.facultad/75.42/string.git/blobdiff - ascii.cpp
Se corrige y prueba la entrada y salida de datos por streams.
[z.facultad/75.42/string.git] / ascii.cpp
index f2dee218b9332ceb4796367297a9715d1bcd774e..1864fb8dd9de28af7fd9fcb6835f74c254a95d18 100644 (file)
--- a/ascii.cpp
+++ b/ascii.cpp
 #   include <iostream>
 #endif
 
+Ascii::Ascii(char c): caracter(c) {
+#ifdef DEBUG
+    std::cerr << "En constructor de Ascii." << std::endl;
+#endif
+}
+
+Ascii::Ascii(const Ascii& ascii): caracter(ascii.caracter) {
+#ifdef DEBUG
+    std::cerr << "En constructor de copia de Ascii." << std::endl;
+#endif
+}
+
+Ascii::~Ascii(void) {
+#ifdef DEBUG
+    std::cerr << "En destructor de Ascii." << std::endl;
+#endif
+}
+
+bool Ascii::is_endl(void) {
+#ifdef DEBUG
+    std::cerr << "En Ascii::is_endl()." << std::endl;
+#endif
+    // Si es 0xA = 10 = '\n' devuelve true.
+    return caracter == '\n';
+}
+
+Ascii& Ascii::operator=(const Ascii& ascii) {
+#ifdef DEBUG
+    std::cerr << "En operator= de Ascii." << std::endl;
+#endif
+    caracter = ascii.caracter;
+    return *this;
+}
+
+bool Ascii::operator<(const Ascii& ascii) {
+#ifdef DEBUG
+    std::cerr << "En operator< de Ascii." << std::endl;
+#endif
+    return caracter < ascii.caracter;
+}
+
+bool Ascii::operator==(const Ascii& ascii) {
+#ifdef DEBUG
+    std::cerr << "En operator== de Ascii." << std::endl;
+#endif
+    return caracter == ascii.caracter;
+}
+
+Ascii::operator char(void) const {
+#ifdef DEBUG
+    std::cerr << "En cast de Ascii a char." << std::endl;
+#endif
+    return static_cast<char>(caracter);
+}
+
+Ascii::operator short(void) const {
+#ifdef DEBUG
+    std::cerr << "En cast de Ascii a short." << std::endl;
+#endif
+    return static_cast<short>(caracter);
+}
+
 /// Volcado a un stream de salida.
 std::ostream& operator<<(std::ostream& out, const Ascii& ascii) {
 #ifdef DEBUG
@@ -29,7 +91,7 @@ std::ostream& operator<<(std::ostream& out, const Ascii& ascii) {
 }
 
 /// Captura desde un stream de entrada.
-std::istream& operator>>(std::istream& in, const Ascii& ascii) {
+std::istream& operator>>(std::istream& in, Ascii& ascii) {
 #ifdef DEBUG
     std::cerr << "En operator>> de Ascii." << std::endl;
 #endif