SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: Diodo en Martes 5 de Diciembre de 2006, 10:08
-
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
-
yo no te entiendo del todo... para que la vuelta? para algo en especial?
-
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
-
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
-
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