Herencias
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 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 }; 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 ); };
Clase Persona
Clase Alumno
2
Herencia (III) Ejemplo deHerencia: 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é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 ); };
int Alumno :: mcurso () { return curso; }
voidAlumno :: mcurso (int c) { curso = c ; }
4
Herencia (III) ¿Cómo quedan las clases?
Clase persona nif nombre apellidos edad medad( ) mnombre( ) mostrar( ) nombreCompleto( ) felizCumple( ) leer( )...
Regístrate para leer el documento completo.