Witam tak naprawdę dopiero wchodzę w obiektowego c++ i napotkałem tak problem:
W jednym pliku wszystko jest dobrze:
class Ksztalt { public: virtual void oblicz_pole() = 0; }; class Kolo :public Ksztalt { public: Kolo(float x) { r = x; } virtual void oblicz_pole(); private: float r; };
Lecz jeśli chcę to zrobić tak:
class Ksztalt { public: virtual void oblicz_pole() = 0; }; class Kolo :public Ksztalt { public: Kolo(float x); virtual void oblicz_pole(); private: float r; };
Drugi plik:
Kolo::Kolo(float x) { r = x; }
Pojawia się błąd
undefined reference to `vtable for Kolo`