Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Herencia... (https://www.clubdelphi.com/foros/showthread.php?t=32111)

dunia_lv 26-05-2006 14:40:28

Herencia...
 
Hola, me inicio en la programación orientada a objetos y me surgen muchas dudas. resulta que hace poco me han mandado hacer un sistema en la escuela, en el sistema del cual les hablo hay herencia, tengo una clase ttrabajador y tengo una clase tadministrativo y una clase ttecnico que heredan de ttrabajador y además incluyen características propias. Ahora me estuvieron hablando de que era posible de que yo creara un arreglo de puntero del tipo ttrabajador que guardaría punteros del tipo ttecnico y tadministrativos para de esta manera tener una lista total que encierre tanto técnicos como administrativos con sus características propias. Mi pregunta es ...será esto posible??? saben de algún ejemplo o articulo que me pueda ayudar....

Agradecida por la atención

Dunia

waltergomez 26-05-2006 15:50:23

Si es posible, usá TList que te permite contener una lista de objetos.
Salu2,

delphi.com.ar 26-05-2006 16:07:24

Es un ejemplo muy burdo, pero espero que te sirva:
Código:

#include <vcl.h>
#include <iostream.h>

  class TTrabajador
  {
  public:
    TTrabajador() {cout << "Trabajador Creado!\n";}
    virtual void Trabajar() {cout << "Trabajando!\n";};
  };

  class TAdministrativo : public TTrabajador
  {
  public:
    void Trabajar() {cout << "Realizando Tareas Administrativas..\n";};
  };

  class TTecnico : public TTrabajador
  {
  public:
    void Trabajar() {cout << "Realizando Tareas Técnicas..\n";};
  };

int main(int argc, char* argv[])
{
  TTrabajador * Empleados[10];

  /*
    Crea las instancias de los objetos
    diferenciando entre pares e impares
    para Técnicos y administrativos
  */
  for (int i = 0; i < 10; i++)
    if (i % 2 == 0)
      Empleados[i] = new TAdministrativo;
    else
      Empleados[i] = new TTecnico;

  /*
  LLama a los métodos para que notes
  como accede al de la clase que corresponde
  */
  for (int i = 0; i < 10; i++)
    (*Empleados[i]).Trabajar();

  return 0;
}


dunia_lv 29-05-2006 22:43:00

Gracias
 
Muchas Gracias por los consejos!!! me han ayudado


La franja horaria es GMT +2. Ahora son las 01:51:31.

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