Está en la página 1de 5

HOLA SOY A

#include <iostream>
class A {
public:
void a()
{
std::cout<<"hola soy A";
}
};
class B:public A
{
public:
void a(){
std::cout<<"soy b";
}
};
int main ()
{
A*a=new B;
a->a();
}
PEPITO JOSE
#include <iostream>
#include <cstring>
using namespace std;
class Persona {
public:
Persona(char*n){strcpy(nombre,n);}
void VerNombre() {cout<<nombre<<endl;
}
protected:
char nombre [30];
};
class Empleado: public Persona
{
public:
Empleado(char*n):Persona(n){
}
void VerNomnbre(){
cout<<"Emp:"<<nombre<<endl;
}
};

class Estudiante: public Persona {


public:
Estudiante(char *n):Persona(n){
}
void VerNombre()
{
cout<<"Est: "<<nombre<<endl;
}
};
int main (){
Persona*Pepito=new Estudiante("Jose");
Persona*Carlos=new Empleado ("Carlos");
Carlos->VerNombre();
Pepito->VerNombre();
}
APROBASTE O DESAPROBASTE?
#include <iostream>
using namespace std;
class Profesor {
public:
virtual void nota()
{
cout<<"desaprobaste";
}
};
class alumno:public Profesor
{
public:
void nota(){
cout<<"aprobaste";
}
};
int main ()
{
Profesor*nota=new alumno;
nota->nota();
}

Figuras Geometricas
#INCLUDE <iostream>
#include <cstring>
using namespace std;
class Figuras
{ protected:
char identificar[25];
float area;
public:
// Definiendo las funciones virtuales en la clase base
virtual void Calcular_Area(); virtual void Dibujar_Figura(); virtual void Identificar();
};
void Figuras :: Calcular_Area( )
// Cuando se definen las funciones no es necesario utilizar virtual void Figuras ::
Calcular_Area( )
{
}
void Figuras :: Dibujar_Figura( )
{ cout << "No hay dibujo disponible..." << endl;
}

void Figuras :: Identificar( )


{ cout << endl << "Nombre Figura: " << identificar << endl;
cout << "El Area es: " << area << endl;
}
class Rectangulo : public Figuras // Definicin de la clase derivada Rectngulo
{
protected: float base; float altura;
public:
Rectangulo(float b, float a);
void Calcular_Area(); void Dibujar_Figura(); void Identificar();
};
Rectangulo :: Rectangulo(float b, float a)
{ base = b; altura = a; strcpy (identificar,"Rectangulo");
}
void Rectangulo :: Calcular_Area( )
{ area = (base * altura);
}

void Rectangulo :: Dibujar_Figura( )


{ cout << endl;
cout << "********** " << endl;
cout << "*
* " << endl;
cout << "* A * altura = " << altura << endl;
cout << "*
* " << endl;
cout << "********** " << endl;
cout << " Base = " << base << endl;
}
void Rectangulo :: Identificar( )
{ Figuras::Identificar();
cout << endl << "Sus datos son: " << endl;
}
class Triangulo : public Figuras
// Definicin de la clase derivada Tringulo
{
protected: float base; float altura;
public:
Triangulo(float b, float a);
void Calcular_Area();
void Dibujar_Figura();
void Identificar();
};
Triangulo :: Triangulo(float b, float a)
{
base = b; altura = a; strcpy(identificar,"Triangulo");
}
void Triangulo :: Calcular_Area( )
{ area = ((base * altura) / 2);
}
void Triangulo :: Dibujar_Figura( )
{cout << " **
" << endl;
cout << " * * altura = " << altura << endl;
cout << " * A * " << endl;
cout << " ******* " << endl;
cout << " Base = " << base << endl;
}
void Triangulo :: Identificar( )
{ Figuras::Identificar();
cout << endl << "Sus datos son: " << endl << endl;
}
int main()
{
int i;
Figuras * arreglobj[2];

// Se crea un arreglo de objetos de la clase Figuras

// Ahora se crearan 5 objetos para luego ser utilizados por el arreglo de objetos

Triangulo Tri1(3,5);
Rectangulo Rec1(20,15);
/* Cada objeto definido anteriormente ser un elemento del arreglo donde
cada elemento es un puntero a un objeto Figuras, aqu se utiliza el concepto de
polimorfismo. Se hace referencia a cada objeto creado */
arreglobj[0] = &Tri1;
arreglobj[1] = &Rec1;
// Se calcularn las reas, se identificar cada objeto y se visualizar su
informacin
for(int i = 0; i < 2; i++)
{ arreglobj[i] -> Calcular_Area( );
arreglobj[i] -> Identificar( );
arreglobj[i] -> Dibujar_Figura( );
cout << "----------------------------"<<endl;
}
cout << endl << " FIN DE LA DEMOSTRACION " << endl;
}