BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 19 Herencia
Teoría: Constructores de las clases privadas: Inicializador base

Un objeto de la clase derivada contiene todos los miembros de la clase base y todos esos miembros deben ser inicializados. Por esta razón el constructor de la clase derivada debe llamar al constructor de la clase base. Al definir el constructor de la clase derivada se debe especificar un inicializador base.

Como ya se ha dicho las clases derivadas no heredan los constructores de sus clases base. El inicializador base es la forma de llamar a los constructores de las clases base y poder así inicializar las variables miembro heredadas. Este inicilizador base se especifica poniendo, a continuación de los argumentos del constructor de la clase derivada, el carácter dos puntos (:) y el nombre del constructor de la clase o las clases base, seguido de una lista de argumentos entre paréntesis.

El inicializador base puede ser omitido en el caso de que la clase base tenga un constructor por defecto. En el caso de que el constructor de la clase base exista, al declarar un objeto de la clase derivada se ejecuta primero el constructor de la clase base.

En el ejemplo del apartado anterior ya se puede ver como se llama al constructor de la clase base desde el constructor de la clase derivada:

C_CuentaJoven(const char *unNombre, int laEdad, double unSaldo=0.0,
double unInteres=0.0) : C_Cuenta(unNombre, unSaldo, unInteres)