Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/06/2008, 14:24
guille_el3
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: TYPEID y HERENCIA

Te hago una recomendación, puesto que no conozco de typeId ni c++, pero se más de objetos y cosas que pueden ser útiles independientemente del lenguaje.

seguramente lo que tu queres hacer es algo así (en pseudocódigo):

Código:
for (int i=0; i<array.length() ; i++){
  if (array[i].isB()){
    array[i].hacerAlgo();
  }
}

El problema que tienes es tienes dos objetos que no son polimorficos (porque los dos no hacenAlgo()) y los tienes juntos en un mismo array.

solucion 1) Ponlos en arrays separados.
solucion 2) en vez de usar el typeId, declara métodos isA isB por los que puedas preguntar.
solucion 3) (esta es la que mas me gusta) haz que los objetos A y los objetos B tengan el método hacerAlgo() pero los objetos A no hagan nada :), por lo que tu código quedaría como:

Código:
for (int i=0; i<array.length() ; i++){
    array[i].hacerAlgo();
}
Y no tienes que preguntar por el tipo

Suerte, espero que te sirva!
__________________
Saludoss
Guille