#include <iostream>
#include <cstring>
using namespace std;
//--------------------------------------------
// Persona
//--------------------------------------------
class Persona {
private:
char nombre [60];
int edad;
public:
Persona (char * nom, int eda);
void mostrar (void);
};
Persona :: Persona (char * nom, int eda)
{
strcpy(nombre, nom);
edad = eda;
}
void Persona :: mostrar (void)
{
cout << "\n\nNombre: " << nombre;
cout << "\nEdad: " << edad;
}
//--------------------------------------------
// Alumno
//--------------------------------------------
class Alumno : public Persona {
private:
int expediente;
int notaFinal;
public:
Alumno (char * nom, int eda, int exp, int notaf);
void mostrar (void);
};
Alumno :: Alumno (char * nom, int eda, int exp, int notaf)
: Persona (nom, eda)
{
expediente = exp;
notaFinal = notaf;
}
void Alumno :: mostrar (void)
{
Persona :: mostrar();
cout << "\nExpediente: " << expediente;
cout << "\nNotaFinal: " << notaFinal;
}
//--------------------------------------------
// Profesor
//--------------------------------------------
class Profesor : public Persona {
private:
char asignatura [30];
int sueldo;
public:
Profesor (char * nom, int eda, char * asig, int suel);
void mostrar (void);
};
Profesor :: Profesor (char * nom, int eda, char * asig, int suel)
: Persona (nom, eda)
{
strcpy (asignatura, asig);
sueldo = suel;
}
void Profesor :: mostrar (void)
{
Persona :: mostrar();
cout << "\nAsignatura: " << asignatura;
cout << "\nSueldo: " << sueldo;
}
//--------------------------------------------
// main
//--------------------------------------------
int main()
{
Persona personaje ("Cristiano Ronaldo", 26);
personaje.mostrar();
Alumno paco("Paco", 40, 12345, 5);
paco.mostrar ();
Persona * tabla[2];
tabla[0] = &paco;
Profesor vicente ("Vicente", 36, "PSI", 960);
vicente.mostrar ();
tabla[1] = &vicente;
int i;
for (i=0; i<=1; i++) tabla[i]->mostrar();
return 0;
}