Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problemas con el constructor de una clase (https://www.clubdelphi.com/foros/showthread.php?t=67155)

Ledian_Fdez 01-04-2010 16:52:09

Problemas con el constructor de una clase
 
Hola amigos de este foro, hoy les traigo una interrogante. Espero que me puedan ayudar. Gracias de antemano y ahí les va !!!

Código:

class TProducto
{
  protected:
    String fnombreprod;
    String fcalidad;
    int fprecio;
    int fpublicidad;
    float fporciento;
  public:
    TProducto(String nombreprod, String calidad, int precio, int publicidad, float porciento);
    ~TProducto();
};

//implementación

TProducto::TProducto(String nombreprod, String calidad, int precio, int publicidad, float porciento)
{
 fnombreprod = nombreprod;
 fcalidad = calidad;
 fprecio = precio;
 fpublicidad = publicidad;
 fporciento = porciento;
}

//----------------------------------------

class TFruta: public TProducto
{
  private:
    String fnombrefruta;
    int fvence;
    String fsabor;
    float fpesolibras;
  public:
    TFruta(String nombreprod, String calidad, int precio, int publicidad, float porciento, String nombrefruta, int vence, String sabor, float pesolibras):TProducto(nombreprod, calidad, precio, publicidad, porciento){};
    ~TFruta();
};

//implementación

TFruta(String nombreprod, String calidad, int precio, int publicidad, float porciento, String nombrefruta, int vence, String sabor, float pesolibras):TProducto(nombreprod, calidad, precio, publicidad, porciento){}
{
 fnombrefruta=nombrefruta;
 fvence=vence;
 fsabor=sabor;
 fpesolibras=pesolibras;
}

[C++ Error] Fruta.cpp(10):E2293) expected

Alguien sabrá como arreglarlo!!!
En espera de su ayuda
un fiel amigo.

escafandra 05-04-2010 12:59:23

Código:

class TProducto
{
  protected:
    String fnombreprod;
    String fcalidad;
    int fprecio;
    int fpublicidad;
    float fporciento;
  public:
    TProducto(String nombreprod, String calidad, int precio, int publicidad, float porciento);
    ~TProducto();
};

//implementación

TProducto::TProducto(String nombreprod, String calidad, int precio, int publicidad, float porciento)
{
 fnombreprod = nombreprod;
 fcalidad = calidad;
 fprecio = precio;
 fpublicidad = publicidad;
 fporciento = porciento;
}

//----------------------------------------

class TFruta: public TProducto
{
  private:
    String fnombrefruta;
    int fvence;
    String fsabor;
    float fpesolibras;
  public:
    TFruta(String nombreprod, String calidad, int precio, int publicidad, float porciento, String nombrefruta, int vence, String sabor, float pesolibras);
    ~TFruta();
};

//implementación

TFruta::TFruta(String nombreprod, String calidad, int precio, int publicidad, float porciento, String nombrefruta, int vence, String sabor, float pesolibras):TProducto(nombreprod, calidad, precio, publicidad, porciento)
{
 fnombrefruta=nombrefruta;
 fvence=vence;
 fsabor=sabor;
 fpesolibras=pesolibras;
}

Declaraste un constructor inline en la clase derivada y luego lo redefiniste mal, sin declarar a qué clase pertenece. :)

Ten en cuenta que el destructor no se hereda y tendrás que llamar al destructor de la clase madre explícitamente.

Saludos.


La franja horaria es GMT +2. Ahora son las 04:37:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi