wywoływanie metod dla obiektów w wektorze

0

Cześć.

Mam klasę abstrakcyjną z pewną funkcją wirtualną:

class Abstrakcyjna
{
public:  
 // ...
	 virtual void Metoda() = 0; 
};

Dodatkowo mam też klasę dla obiektów, która dziedziczy po klasie abstrakcyjnej

class Obiekt: public Abstrakcyjna
{
public: 
//...
	void Metoda();
}

W trzeciej klasie mam wskaźnik do wektora obiektów:

class Klasa
{
public: 
//...
	vector<Abstrakcyjna *> * TuBedaObiekty;
}

Dokonuję inicjlalizacji obiektów i w jednej z metod tejże klasy chcę sobie wywoływać Metoda() dla wszystkich utworzonych obiektów w wektorze:

for(int i = 0; i < TuBedaObiekty->size(); ++i)  
        TuBedaObiekty->at(i)->Metoda();

Myślałem, że takie coś zadziała. Niestety, mimo udanej kompilacji, metoda nie chce się wywoływać. Jest jakiś inny sposób?

1

Kluczowe jest tu co oznacza "metoda nie chce się wywoływać"?

0
TuBedaObiekty->at(i)->Metoda();

pokaz jak znalazly sie tam te obiekty

1

Poza prawdobpodobnie niebezpiecznym użyciem nagich wskaźników, wszystko wygląda poprawnie, więc błąd musi znajdować się gdzieś indziej. Przygotuj testcase: https://dsp.krzaq.cc/post/445/jak-zadawac-pytania-na-forum/

1

Powinno działać: https://wandbox.org/permlink/V86vP7ypZiiLx2jH

jedyny wniosek, że nie pokazałeś tego co istotne dla problemu.

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