Przechowywanie obiektów różnych klas w tablicy

0

dzień dobry

Załóżmy, że mam taką hierarchię:

class bazowa
{
    bazowa();
    virtual void metoda1() = 0;
    virtual void metoda2() = 0;
};

class pochodna1 : public bazowa
{
  void metoda1() {};
  void metoda2() {};
};

class pochodna2 : public pochdona1
{
};

teraz moje zadanie to: wykorzystać dowolnego typu kolekcję (tablica, stos, zbiór,
mapa, kolejka, lista) do przechowywania obiektów należących do
różnych klas. Czy mógł by mi ktoś na przykładzie np. powyższych klas pokazać najlepiej na tablicy - myślę, że lepiej zrozumiem - jak taką tablicę się tworzy gdzie obiekty są z rożnych klas ?

0
#include <iostream>
using namespace std;

class bazowa
  {
   public:
   bazowa() {}
   virtual void metoda1() = 0;
   virtual void metoda2() = 0;
  };

class pochodna1 : public bazowa
  {
   public:
   void metoda1() { cout<<"1"<<endl; };
   void metoda2() {};
  };

class pochodna2 : public pochodna1
  {
   public:
   void metoda1() { cout<<"2"<<endl; };
  };

int main()
  {
   struct { char *Name; bazowa &x; } Tb[]=
     {
      { "pochodna1", *(new pochodna1) },
      { "pochodna2", *(new pochodna2) },
     };
   for(unsigned i=0;i<sizeof(Tb)/sizeof(*Tb);++i)
     {
      cout<<Tb[i].Name<<": ";
      Tb[i].x.metoda1();
     }
   
   cin.get();
   return 0;
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1