W moim programie są 3 klasy: Pracownik, Sprzedawca opraz Portier. Dwie ostatnie klasy są klasami pochodnymi od Pracownika. W programie wszystko dobrze działa, funkcje wirtualne uruchamiają się bez problemów, operatory we/wy również.
Problem pojawia się, przy zapisywaniu listy pracowników do pliku. Na liście jednokierunkowej wszystkie elementy(czy to Sprzedawca, czy Portier) są przechowywane jako Pracownik *.
Operatory we/wy nie mogą być funkcjami wirtualnymi i w związku z tym nie wiem, jak poprawnie zapisywać elementy do pliku(Portier i Sprzedawca mają przeładowane własne operatory we/wy). Musiałbym przy każdym Pracowniku(Portierze/Sprzedawcy) znać typ i stąd pytanie jak go sprawdzić.