Witam, mam takie pytanie i problem.
Mam klasę bazową, klasa pochodna1, klasa pochodna2 i klasa pochodna pochodnej2.
Tworzę klaseę listę : list <klasa bazowa*> lista;
W niej mam funkcje do wyświetlania jej zawartości:
void Lista::Pokaz()
{
for (auto it : lista)
{
cout << *it << "\n";
}
system("PAUSE");
}
Lecz tutaj pojawia się problem. Jak mam dodawać do listy obiekty moich klas pochodnych, a potem je wyświetlać?
Zrobić tak?
switch (zmienna)
{
case 1:
{
KlasaPochodna1 *obiekt = new KlasaPochodna1;
lista.push_back(obiekt);
}break;
case 2:
{
KlasaPochodna2 *obiekt = new KlasaPochodna2;
lista.push_back(obiekt);
}break;
case 3:
{
KlasaPochodnaPochodnej2*obiekt = new KlasaPochodnaPochodnej2;
lista.push_back(obiekt);
}break;
default:
break;
}
Chociaż zdaje mi się że to jest źle.