• Miércoles 24 de Abril de 2024, 03:53

Autor Tema:  Cast En Parametro De Funcion Antes De Su Llamada  (Leído 1687 veces)

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Cast En Parametro De Funcion Antes De Su Llamada
« en: Martes 5 de Diciembre de 2006, 10:08 »
0
Hola.

Tengo una clase B con un metodo para agregar objetos de otras clases a un contenedor. Las otras clases derivan todas de una clase abstracta A y quiero pasarle al metodo agregar de la clase B un puntero pero a la clase madre.
De momento tengo esto:

int AgregarConCast(A *obj);
# define Agregar(ob) AgregarConCast((A *)(ob));

La funcion a usar seria la del macro que haria el cast y luego llamaria al metodo de la clase

Existe alguna forma mas elegante de hacer esto?? O algun mecanismo de c++ que este olvidando?

Gracias

salu2

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Cast En Parametro De Funcion Antes De Su Llamada
« Respuesta #1 en: Martes 5 de Diciembre de 2006, 21:08 »
0
yo no te entiendo del todo... para que la vuelta? para algo en especial?
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Cast En Parametro De Funcion Antes De Su Llamada
« Respuesta #2 en: Martes 5 de Diciembre de 2006, 23:29 »
0
No se a que te refieres con la vuelta.  ;)  Pero vamos, la idea es que quiero meter clases hijas como puntero a la clase madre, si no lo hiciera asi tendria que tener un metodo especifico para agregar cada tipo de clase hija

NiCH

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Cast En Parametro De Funcion Antes De Su Llamada
« Respuesta #3 en: Miércoles 6 de Diciembre de 2006, 03:12 »
0
Diodo puedes replantear el enunciado de tu problema? es que intento entenderlo para ayudarte en lo que pueda pero no pillo por dónde vas.

Lo que he entendido:

- Tienes una clase abstracta.
- Tienes derivadas de la clase abstracta ( B deriva de A? )

Es que parece que con herencia simple se soluciona el tema pero prefiero esperar a que te expliques mejor. Tienes código que podamos ver lo que intentas hacer?

Salu2

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Cast En Parametro De Funcion Antes De Su Llamada
« Respuesta #4 en: Miércoles 6 de Diciembre de 2006, 11:56 »
0
Perdonar, se me fue la pinza  ;)  y no me di cuenta que estaba haciendo la herencia de las hijas privada, por eso no me dejaba meter en la funcion, las hijas como ptro a la madre

Gracias por el interes

salu2