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`