Witam, mam problem z którym nie mogę sobie poradzić od dłuzszego czasu a może będziecie w stanie mi pomóc.
Posiadam klasę abstrakcyjna, z wirtualnym destruktorem. Z tej klasy powstają inne poprzez dziedziczenie. W tych klasach jest masa pamieci zalokowanej dynamicznie ze wskaznikami, ktora chce zwolnić i w destruktorze mam odpowiednie wywołania delete.
W programie mam kontener STL - vector, w ktorym dynamicznie alokuje pamiec przez operator new:
vector.push_back(new klasa_odziedziczona1())
vector.push_back(new klasa_odziedziczona2())
itd.
i teraz najwazniejsze:
w momencie gdy proboje usunąć jakiś element wywołuję metodę:
vector.clear(vector.begin() + element);
jednak ona nie nie wywoluje destruktora dla tego elementu. W jaki sposób mam zwolnić tą pamięć ???