Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Sobre herencia, punteros y métodos

Estas en el tema de Sobre herencia, punteros y métodos en el foro de C/C++ en Foros del Web. Buenas. A ver si alguien me puede ayudar con este problema. Tengo una clase padre, una clase hijo y un vector de punteros de la ...
  #1 (permalink)  
Antiguo 16/03/2007, 11:54
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 17 años, 1 mes
Puntos: 0
Sobre herencia, punteros y métodos

Buenas. A ver si alguien me puede ayudar con este problema.

Tengo una clase padre, una clase hijo y un vector de punteros de la clase padre pero que hacen referencia a objetos de la clase hijo.

La cuestión es que le he añadido algunos métodos a la clase hija, pero al intentar acceder a ellos con vector[X]->NuevoMetodo() no me deja compilar porque dice que la clase padre no tiene ese "NuevoMetodo".

Una solución sería cambiar el vector para que sea de punteros de la clase hija o añadirle a la clase padre el método como virtual, pero no puedo hacerlo, no se me permite modificarlos.

Me han dicho que utilice casts, pero no los controlo muy bien y no se cómo usarlos.

Gracias por adelantado!
  #2 (permalink)  
Antiguo 16/03/2007, 12:27
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Re: Sobre herencia, punteros y métodos

El vector de punteros es de clase padre, la herencia va de padre a hijo, no de hijo a papá
  #3 (permalink)  
Antiguo 16/03/2007, 12:27
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Re: Sobre herencia, punteros y métodos

Podes hacer un cast asi por ejemplo:

tipoB *variableTipoB = (tipoB*)variableTipoA;
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #4 (permalink)  
Antiguo 16/03/2007, 13:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 8
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Sobre herencia, punteros y métodos

((tipoB*)vector[X])->NuevoMetodo()
  #5 (permalink)  
Antiguo 16/03/2007, 14:52
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Sobre herencia, punteros y métodos

Muchas gracias. Cuando pueda lo pruebo a ver si me funciona :D
  #6 (permalink)  
Antiguo 19/03/2007, 09:00
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Sobre herencia, punteros y métodos

Porque no se pueden usar metodos virtuales para asi poder acceder a los metodos de la clase hija?

Saludos
  #7 (permalink)  
Antiguo 19/03/2007, 15:12
 
Fecha de Ingreso: febrero-2007
Mensajes: 8
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Sobre herencia, punteros y métodos

Porque no se pueden usar metodos virtuales para asi poder acceder a los metodos de la clase hija?


Respuesta: En un caso normal se podria, pero parece ser que a Knudow no le permiten modificar la clase padre, solo usar sus metodos.
  #8 (permalink)  
Antiguo 19/03/2007, 18:53
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Sobre herencia, punteros y métodos

Mmmm. Pues entonces si un cast es lo mas conveniente.

Saludos
  #9 (permalink)  
Antiguo 20/03/2007, 04:35
 
Fecha de Ingreso: marzo-2007
Mensajes: 3
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Sobre herencia, punteros y métodos

Muchas gracias a todos!! Ahora funciona perfectamente :D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 02:20.