# include <iostream>
#endif
-Ascii::Ascii(char c = '0'): caracter(c) {
+Ascii::Ascii(char c): caracter(c) {
#ifdef DEBUG
std::cerr << "En constructor de Ascii." << std::endl;
#endif
#endif
}
+bool Ascii::is_endl(void) const {
+#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;
return *this;
}
-bool Ascii::operator<(const Ascii& ascii) {
+bool Ascii::operator<(const Ascii& ascii) const {
#ifdef DEBUG
std::cerr << "En operator< de Ascii." << std::endl;
#endif
return caracter < ascii.caracter;
}
-bool Ascii::operator==(const Ascii& ascii) {
+bool Ascii::operator==(const Ascii& ascii) const {
#ifdef DEBUG
std::cerr << "En operator== de Ascii." << std::endl;
#endif
return caracter == ascii.caracter;
}
-short Ascii::operator short(void) {
+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
}
/// 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