elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda Acerca de Herencia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda Acerca de Herencia  (Leído 2,589 veces)
Gerik

Desconectado Desconectado

Mensajes: 24


Ver Perfil
Duda Acerca de Herencia
« en: 28 Abril 2010, 06:28 am »


digamos: xD

Class padre{public:
                  capturar();}
class hija:Public padre{capturar();}

main()
  {hija ob;
   ob.capturar();}

mi duda es como llamar la funcion capturar del padre desde el main con la clase hija

Agradezco su pronta Respuesta 


En línea

Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Duda Acerca de Herencia
« Respuesta #1 en: 28 Abril 2010, 09:28 am »

Si esta definida en la clase base, podrás acceder desde la derivada (al menos que el miembro sea privado), así que lo único que tienes que hacer es llamarla.

Por ejemplo:

Podes desambiguar directamente en la definición de la clase y hacer algo así:

Código
  1. class hija:public padre
  2. {
  3. public:
  4. void capturar()
  5.     {
  6.      padre::capturar();  
  7.     }
  8. };


O no hacer lo anterior y llamarla directamente desambiguando otra vez (con ::), con el objeto de la clase derivada.

Código
  1. hija obj;
  2. obj.capturar();//Metodo publico, clase derivada
  3. obj.padre::capturar();//Metodo publico, clase base      


De todas maneras hay que tener cuidado sobre este tipo de practicas ya que C++ permite herencia múltiple, por lo tanto las definiciones de los métodos pueden tornarse ambiguas.
En el caso que uses Visual Studio tal vez puedas usar el keyword __super, pero por supuesto esto solo es Microsoft specific.

Te recomiendo leer sobre funciones virtuales para que tengas una idea de como podes aprovechar un poco mas este tipo de situaciones.


Saludos!


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre herencia en C++
Programación C/C++
NekoOs 4 2,416 Último mensaje 18 Septiembre 2012, 00:42 am
por NekoOs
Duda sobre el tema de Herencia en c++
Programación C/C++
maikelowen 3 2,025 Último mensaje 10 Abril 2014, 21:51 pm
por maikelowen
Duda herencia de constructor
Java
bettu 3 2,224 Último mensaje 26 Octubre 2015, 17:50 pm
por DarK_FirefoX
Duda en herencia
Programación C/C++
OmarZamora7 1 1,917 Último mensaje 12 Agosto 2016, 14:20 pm
por ivancea96
Duda Con Herencia y metodo staticos
PHP
Yorshdelaselva 1 2,525 Último mensaje 28 Marzo 2017, 20:28 pm
por mchojrin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines