Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/03/2014, 13:06
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 5 meses
Puntos: 38
Respuesta: Herencia en C++, llamando a Funciones heredadas

CalgaryCorpus Si! :D

¿Algo parecido a esto no?
Código C++:
Ver original
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class vehiculo {  
  5.         public:
  6.         void insertarllave() {cout << "meter llave";}
  7.         //necesita metodo virtual =(
  8.         virtual void encender(){cout << "BASE!..Girar llave para encender\n\n";}              
  9. };
  10. class carro_standard:public vehiculo {
  11.         public:
  12.         void meterclutch()  { cout << "Pisar clutch\n\n"; }
  13.         void encender() { cout << "DERIBADA!..Girar llave para encender\n"; meterclutch(); }
  14. };
  15.  
  16.  
  17. int main() {
  18.     carro_standard miCarro;
  19.     //Recorte de objetos o "slicing"    
  20.     vehiculo& pVehiculo = miCarro; //Si paso carro como puntero o referencia accedo a la clase derivada
  21.     vehiculo objVeyculo = miCarro; //Si paso el obj accedo a la clase base.
  22.     //Importante...fijese que le paso el objeto derivado De 2 formas distintas y obtengo 2 resultados
  23.     //distintos segun quiera una cosa u otra, pero les paso a la clase "BASE" WTF!XD
  24.    
  25.     objVeyculo.encender();//Aqui comprobamos el objeto "miCarro" recortado que me da acceso a la clase base de "miCarro"
  26.     pVehiculo.encender();//Aqui comprobamos la referencia, que me da como resultado la clase derivada de "miCarro"
  27.     //Es un tema Bochornozo....Lea mucho sobre el antes de usar XDD  
  28.     return 0;
  29. }

Si le pasas un puntero/referencia o le pasas un objeto tienes dos funcionamientos distintos.
Muy interesante, estoy leyendo sobre eso. ^^
A ver si logro pillar el trankillo sobre el tema =D