[C con Clase] Polimorfismo del ejemplo del capítulo 37

Sebastian Oldani sebastianoldani en gmail.com
Dom Mar 27 20:43:19 CEST 2016


Hola, que tal, fijate lo siguiente.

On 27/03/16 15:21, marcelinux wrote:
> Hola.
> Por favor, hay algo que no entiendo bien.
> En el capítulo 37: http://c.conclase.net/curso/index.php?cap=037#inicio
> se incluye un ejemplo.
> A dicho ejemplo le he añadido código de forma que queda así:
> int main() {
>     Persona *Pepito = new Estudiante("Jose");
>     Persona *Carlos = new Empleado("Carlos");
>     Estudiante *Pablito = new Estudiante("Pablo");   // añadido
>     Empleado *Juanito = new Empleado("Juan");        // añadido
>     Persona *Pedrito = new Persona("Pedro");         // añadido
>
>     Carlos->VerNombre();
>     Pepito->VerNombre();
>     Estudiante->VerNombre();   // añadido
	Estudiante??
	El objeto se llama Pablito!!
	Esto deberia ser Pablito->VerNombre();

>     Empleado->VerNombre();     // añadido
	Lo mismo aca con empleado, estas usando el nombre de la clase.

>     Pedrito->VerNombre();      // añadido
>     delete Pepito;
>     delete Carlos;
>     delete Pablito;
>     delete Juanito;
>     delete Pedrito;
>
>     return 0;
> }

Saludos!

>
> Al compilar me devuelve:
> error: expected unqualified-id before ‘->’ token
>      Estudiante->VerNombre();
> error: expected unqualified-id before ‘->’ token
>      Empleado->VerNombre();
>
> Me gustaría saber por qué las funciones de las clases derivadas quedan ocultas.
>
> Para compilar he usado:
> g++ (Debian 5.3.1-13) 5.3.1 20160323
> Copyright (C) 2015 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>





Más información sobre la lista de distribución Cconclase