[C con Clase] Funcion virtual no hace falta con objetos locales ?

Programante programante en gmail.com
Lun Dic 12 00:05:58 CET 2011


El 11/12/11 21:51, Stack Overflow escribió:
>
> Lo que noto es que si en lugar de definir punteros a y b a Vehicle,
> usara un puntero a Vehicle y otro a FourWheeler, no haria falta que
> declare el metodo Make como virtual.
> El objeto puntero a FourWheeler accederia a su metodo Make correctamente.
> No termino de entender porque usaria un puntero a Vehicle si voy a
> crear un objeto FourWheeler.
> Alguien puede ilustrarme con algun caso donde tenga sentido tener
> metodos virtuales ?
>
> Gracias

Si sólo vas a trabajar con FourWheeler, no hace falta. Pero si tuvieras
objetos FourWheeler y TwoWheeler,
podrías querer trabajar con ambos tipos a la vez, teniendo un array de
Vehicle, o hacer una función que trabaje con Vehicle de cualquier tipo.
Usando una función definida por todos los Vehicle, la función serviría
independiente de la clase que tenga realmente, aunque esas llamadas de
forma transparente a las distintas implementaciones.

Un saludo






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