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: Clases base virtuales

Al utilizar la herencia múltiple puede suceder que, indirectamente, una clase herede varias veces los miembros de otra clase, tal como se ve en la figura 5.

Si la clase Madre_1 y la clase Madre_2 heredan los miembros de la clase Abuela y la clase Hija hereda, a su vez, los miembros de las clases Madre_1 y Madre_2, los miembros de la clase Abuela se encontrarán duplicados en la clase Hija. Para evitar este problema las clases Madre_1 y Madre_2 deben derivar de la clase Abuela declarándola clase base virtual. Esto hace que los
miembros de una clase de ese tipo se hereden tan sólo una vez. Un ejemplo de declaración de una clase base virtual es el que se presenta a continuación:

class Madre_1 : virtual public Abuela {
...
}