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: Herencia simple y Herencia múltiple

Una clase puede heredar variables y funciones miembro de una o más clases base. En el caso de que herede los miembros de una única clase se habla de herencia simple y en el caso de que herede miembros de varias clases base se trata de un caso de herencia múltiple. Esto se ilustra en la siguiente figura:

 

Como ejemplo se puede presentar el caso de que se tenga una clase para el manejo de los datos de la empresa. Se podría definir la clase C_CuentaEmpresarial como la herencia múltiple de dos clases base: la ya bien conocida clase C_Cuenta y nueva clase llamada C_Empresa, que se muestra a continuación:

class C_Empresa {

private:

char *NomEmpresa;

public:

C_Empresa(const char*laEmpresa)
{

NomEmpresa = new char[strlen(laEmpresa)+1];
strcpy(NomEmpresa, laEmpresa);

}
~C_Empresa()
{ delete [] NomEmpresa; }
// Otros métodos ...

};

class C_CuentaEmpresarial : public C_Cuenta, public C_Empresa {

public:

C_CuentaEmpresarial( const char *unNombre,
const char *laEmpresa, double unSaldo=0.0,
double unInteres=0.0) : C_Cuenta(unNombre, unSaldo, unInteres), C_Empresa(laEmpresa)
// se llama a los constructores de las clases base en la línea previa
{
// Constructor
}
// Otros métodos

};