// 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( );
}