Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Herencia visual

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Herencia visual Responder citando

Hola a todos,

Resulta que estoy usando herencia visual, creando frames que hereda las propiedades de otros frames.

Del tipo....
Código:

class Tframe_fecha_normal : public Tframe
{
   ...
public:      // User declarations
   void reset();
}

class Tframe_fecha_normal_horas : public Tframe_fecha_normal
{
 ....
public:
   void reset();
}


El segundo frame es igual que el primero pero con algunos componentes mas.

A mi me gustaría que desde la funcion reset del frame hijo se llame a la función frame de su padre... por así decirlo.

He probado a hacer esto:

Código:

void Tframe_fecha_normal_horas::reset()
{
    ((Tframe_fecha_normal *)this)->reset();
    ......
}



Pero esto no funciona, ¿alguien me puede ayudar?
}[/code]
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Deberías usar la clausula super para referirte a la clase base de la cual se hereda.
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Muchisimas acias por tu pronta respuesta, pero no se si te he entendido muy bien. Very Happy
¿Te refieres a hacer esto? Por super no me viene nada, no se si te refieres a Parent...


Código:

void Tframe_fecha_normal_horas::reset()
{
    this->Parent->reset();
}


Esto no funciona, porque yo estos frames los creo desde el formulario principal:

Código:

frame_fecha = new Tframe_fecha_normal_horas(this);  //this seria el formulario principal, por lo que no podría usar Parent


[/list]
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Prueba hgaciendo algo asi:

Código:

void Tframe_fecha_normal_horas::reset()
{
    TFrame_fecha_normal::reset();
}



No lo he probado, espero te funcione... lo que se refiere XyVy con super, es porque ne Java, puedes hacer referencia a la clase padre con esta clausula, pero hasta donde yo sé, en c++ no se aplica

NOTA: Recuerda que el metodo reset de la clase padre debe estar declarada como Publica o Protegida, de tal manera que la clase hija pueda acceder a ella...
_________________
Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Es cierto me resvalé, la forma correcta es como indica LordNemesis, aunque lo curioso es que Visual C++ si lo soporta, pero como algo especifico, no del standard C++.

Ciao y perdona, un mal lapsus!
_________________
OJO!! Ya tenemos subforo de Bases de Datos!!
Gracias a los admins.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Ok. Funciona perfectamente LordNemesis Cool

Muchisimas gracias a los dos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.