Witam. Mam klasę bazową BAZOWA i klasę pochodną POCHODNA(dziedziczenie publiczne). Obie klasy posiadają funkcję zaprzyjaźnioną:
friend std::ostream & operator<<(std::ostream & os, const nazwa_klasy & rs);
tworzę teraz wskaźnik typu klasa BAZOWA ale przypisuje do niego adres obiektu klasy POCHODNA,
czyli:
POCHODNA nazwa_obiektu(argumenty);
BAZOWA* nazwa_wskaźnika=&nazwa_obiektu;
następnie wypisuje instrukcję:
std::cout<<*nazwa_wskaźnika;
i wyświetlają mi się dane z ciała funkcji zaprzyjaźnionej klasy BAZOWA, a nie z klasy POCHODA.
Jak to zmienić? To funkcja zaprzyjaźniona więc nie moge jej chyba zadeklarować jako wirtualna?