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

Herencia: llamar al constructor padre

Estas en el tema de Herencia: llamar al constructor padre en el foro de C/C++ en Foros del Web. Hola, Tengo un pequeño problema con herencia en C++. (1) Tengo la clase: class ClasePadre { Padre(std::string arg1, std::string arg2); Padre(); } (2) El caso ...
  #1 (permalink)  
Antiguo 19/05/2008, 04:37
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Herencia: llamar al constructor padre

Hola,

Tengo un pequeño problema con herencia en C++.

(1) Tengo la clase:

class ClasePadre
{
Padre(std::string arg1, std::string arg2);
Padre();
}

(2) El caso es que tengo también una clase hija que declaro como:

class ClaseHija: public ClasePadre

(3) Cuando construyo un objeto de tipo ClaseHija, desearía que se llamara al constructor de ClasePadre (ya que las hijas son especializaciones) pero lo que yo quiero es llamar al constructor que tiene 2 argumentos de entrada y no al otro.

Si hago:

class ClaseHija: public ClasePadre
{
ClaseHija(std::string arg1, std::string arg2)
{
ClasePadre(arg1, arg2);
}
}

... solamente consigo que se llame primero al método sin argumentos ClasePadre y luego al que tiene los dos argumentos.

Lo que realmente quiero es que, al crear un objeto de clase Hija se cree un objeto de clase Padre como si fueran el mismo (en realidad, en mi programa la clase hija tiene algún atributo más, etc).

¿Alguna idea?
  #2 (permalink)  
Antiguo 19/05/2008, 04:39
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Herencia: llamar al constructor padre

Otro apunte: si quito de la clase Padre el constructor sin argumentos, entonces el compilador me dice que no hay disponible un constructor por defecto. ¡Cuando en realidad lo que quiero es que llame directamente al constructor con argumentos!
  #3 (permalink)  
Antiguo 19/05/2008, 04:47
 
Fecha de Ingreso: octubre-2005
Mensajes: 42
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Herencia: llamar al constructor padre

Lo he solucionado ya. Gracias!

El tema era poner en el constructor del hijo lo siguiente:

ClaseHija(std::string arg1, std::string arg2): ClasePadre(arg1, arg2)
{}
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




La zona horaria es GMT -6. Ahora son las 12:24.