Herencia
CONTENIDOS
1. Completar el ejemplo de Herencia:
Superclase Persona-Subclase Alumno
2. Redefinición de métodos.
3. Jerarquía de clases.
4. Ejecución de los pasos de mensajes conHerencia.
5. Problemas con la vinculación de mensajes.
6. Funciones virtuales.
7. Clases Abstractas.
1
Herencia (III)
Ejemplo de Herencia
Class Alumno : public Persona
{
private:
intcurso;
public:
Alumno(char * , int = 0, char *, char * , int );
Alumno& operator=( Alumno &);
~Alumno ();
// Destructor
int mcurso ();
void mcurso (int );
};
class Persona
{
private:
char* nif;
int edad;
char * nombre, *apellidos;
public:
Persona(char * , int = 0, char *, char * );
Persona & operator=( Persona &);
~Persona();
// Destructor
void medad(int);
void mnombre(char*);
char * mnombre() ;
void mostrar() ;
char * nombreCompleto() ;
void felizCumple();
// El día del cumpleaños
void leer();
// Lectura de los datos de la persona
};
2
Clase PersonaClase Alumno
Herencia (III)
Ejemplo de Herencia: implementación de los métodos
Class Alumno : public Persona
{
private:
int curso;
public:
Alumno(char * , int = 0, char *, char * , int );Alumno& operator=( Alumno &);
~Alumno ();
// Destructor
int mcurso ();
void mcurso (int );
};
Alumno & Alumno :: operator = ( Alumno a)
{
Persona :: operator = (a);
curso = a.curso;
return*this;
}
Alumno :: Alumno (char * n, int e, char * nom, char * ape , int c ) : Persona (n, e, nom, ape)
{
curso = c;
}
3
Herencia (III)
Ejemplo de Herencia : Implementación de los métodosClass Alumno : public Persona
{
private:
int curso;
public:
Alumno(char * , int = 0, char *, char * , int );
Alumno& operator=( Alumno &);
~Alumno ();
// Destructor
int mcurso ();
voidmcurso (int );
};
4
int Alumno :: mcurso ()
{
return curso;
}
void Alumno :: mcurso (int c)
{
curso = c ;
}
Herencia (III)
¿Cómo quedan las clases?
Clase persona
Clase Persona...
Regístrate para leer el documento completo.