La Herencia

 

La herencia es el proceso por el cual un objeto puede adquirir las propiedades de otro objeto. En C++, la herencia se soporta permitiendo a una clase incorporar otra clase dentro de su declaración.

 

Las clases que heredan propiedades se llaman clase derivada, mientras que la clase de la que se heredan se denomina clase base.

 

La forma de declarar una clase derivada es:

 

class <nombre_clase_derivada> : <acceso> <nombre_clase_base>

 

<acceso> puede ser public o private:

 

- public: los miembros public siguen siendo public, y los private siguen siendo private en la clase derivada.

- private: los miembros public y private son todos private en la clase derivada.

 

Ejemplo:

 

class X {

char nombre[80];

public :

void mostrar(void);

void nombrar(char *nom);

};

 

class Y : public X { //clase derivada de X

int edad;

public:

void mostrarY(void);

void poneredad(int edad);

};

 

Herencia múltiple

 

Es posible que una clase herede atributos de dos o más clases. Para realizar esto, se usa una lista de herencia, separada por comas, en la lista de las clases base de la clase derivada. La forma general es:

 

class nombre_clase_derivada : lista de clases base

{

..............

};

 

Por ejemplo en este programa Z hereda de X y de Y.

 

class X {

protected:

int a:

public:

void hacer_a(int i);

};

 

class Y {

protected:

int b;

public:

 

void hacer_b(int i);

};

 

class Z : public X, public Y {

public:

int hacer_ab(void);

};