| |||
Hablando de derivacion Mi duda es simple, si yo asigno un objeto a otro que es de su clase padre el compilador lo acepto, O.K, eso esta bien, pero que tan identica es el objeto que haro puede referenciar desde la asignacion, es decir, solo puedo acceder a los miembros que tengan en comun ambos objeto, o por la asignacion tengo dercho a todos los miebros del objeto referido.
__________________ -> La duda adecuada es un buen comienzo <- |
| |||
Explica un poco mas Explicate mejor, yo la verdad no logro entender tu pregunta. ya de paso usa un ejemplo. la asignacion de objeto a objeto solo es recomendable si sobrecargas el operador de asignacion. no creo que sea buena idea asignar un objeto de la clase padre a un hijo. la asignacion de un hijo a padre solo es util con polimorfismo. los campos privados siempre seran privados incluso entre padres e hijos. desde una clase hija solo los protected y public son accedidos. si tu tienes una clase Base y una Hija, entonces declaras un puntero de la clase padre: Base *ptr; y a este puntero le asignas un objeto de la clase hija: ptr = new Hija(); ptr solo podra referenciar las funciones heredadas de la clase Base. Las funciones que solo pertenecen a la clase hija no se pueden acceder. Pero para que las funciones que se llaman desde ptr sean las de clase Hija y no las de Base, estas tienen que ser funciones virtuales. ya sean puras o no. te pongo esos puntos pero espero una mejor explicacion de tu problema. Saludos. |