// DESCRIPTOR DE CARACTERES - SOBRECARGA using namespace std; #include <iostream> #include <cctype> #include <cstring> class Simbolo { public: void Muestra ( char, char); void Muestra ( char, int ); void Muestra ( char, int, int); void Muestra ( char ); }; class Cadena : Simbolo { char CAD[20]; public: void LeeTexto( ); void LeeCaracter( ); }; void Simbolo:: Muestra( char CAR, char CAR_1 ) { cout << CAR << " Es letra\n"; } void Simbolo:: Muestra( char CAR, int k ) { cout << CAR << " Es numero\n"; } void Simbolo:: Muestra( char CAR, int k, int x ) { cout << CAR << " Es operador\n"; } void Simbolo:: Muestra( char CAR ) { cout << CAR << " Es simbolo\n"; } void Cadena::LeeTexto( ) { cout << "Introduce la cadena: "; cin >> CAD; } void Cadena::LeeCaracter( ) { int idx = 0; while ( CAD[idx] != '\0' ) { if ( isalpha ( CAD[idx] ) ) Muestra(CAD[idx], 'c'); else if ( isdigit ( CAD[idx] ) ) Muestra(CAD[idx], 1); else if ( strchr("+-*/", CAD[idx]) ) Muestra(CAD[idx], 1, 2); else if ( isprint ( CAD[idx] ) ) Muestra(CAD[idx]); idx++; } } main() { Cadena Texto; Texto.LeeTexto( ); Texto.LeeCaracter( ); }