On 9/20/07, John Knight <[EMAIL PROTECTED]> wrote:
>
>
> buenas
> tengo una duda con respecto a lo q deberia hacer con un contructor de copia:
>      +) clase A abstracta
>      +) clases B,C heredan de A
>      +) clase D contiene como atributo un A* para hacer polimorfismo
>
> me surge una duda con que es lo que se debe hacer en este caso con el
> constructor de copia de clase D
> o sea... deberia alocar memoria para el A* pero como sabe el constructor de
> copia si lo q tiene q hacer es un new B o new C?

A tiene que tener un método virtual llamado (comunmente, pero no es
obligatorio) Clone() que regresa A*, y en las clases derivadas el
método Clone() retorna B* o C* según cuál sea la clase implementada
Entonces en D, llamás al método Clone() de tu propiedad A*

Saludos

> no se si se entiende
> desde ya muchas grax :-)
> PD: el otro dia fue el aniversario 25 del primer smiley
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
>

_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a