Puede causar errores tratar un objeto de clase base como si fuese
un objeto de clase derivada.
Efectuar la conversión explicita de un apuntador de clase
base que señala a un objeto de clase base a un apuntador
de clase derivada y a continuación hacer referencia a miembros
de clase derivada que no existen en dicho objeto.
Cunado se redefine una función miembro de clase base
en una clase derivada, es común hacer que la versión
de clase derivada llame a la versión de clase base y haga algún
trabajo adicional. Causa recursión infinita no utilizar el
operador de resolución de alcance para hacer referencia a la
función miembro de la clase base, porque la función
miembro de la clase derivada, de hecho, está llamando a sí
misma.
Escribir un programa que depende de que los objetos miembros sean
construidos en un orden particular, puede producir errores sutiles.
Asignar un objeto de clase derivada a un objeto de clase base correspondiente,
y a continuación intentar hacer referencia a miembros de
sólo la clase derivada en el objeto nuevo de clase base.
Puede causar error convertir en forma explicita (cast) un apuntador
de clase base a un apuntador de clase derivada, si a continuación
dicho apuntador es utilizado para hacer referencia a un objeto de
clase base que no tenga los miembros deseados de la clase derivada.
|