Dwa pytania. Przeczytałem że wersja funkcji wirtualnej w klasie abstrakcyjnej nigdy się nie wykona, jednak gdy wywołam funkcję wypisz z klasy podstawowej, w klasie pochodnej, wszystko zadziała poprawnie. Czego nie zrozumiałem? W klasie abstrakcyjnej także należy przeciążyć operatory i dodać konstruktor kopiujący? Wydaje mi się że należy ją przystosować do normalnego użytku, jednak pewności nie mam, czy przypadkiem o to wszystko nie powinny się martwić metody klas pochodnych.
class point(){
protected:
//skladniki klasy abstrakcyjnej
public:
//konstruktory, wirtualny destruktor, metody, operatory
virtual void wypisz() = 0{
//ciało funkcji
}
}
class pochodna(): public point{
protected:
//skladniki klasy abstrakcyjnej
public:
//konstruktory, wirtualny destruktor, metody, operatory
virtual void wypisz() {
point::wypisz();
//reszta funkcji
}
}