SOBRECARGA.cpp



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