Hej mam problem, wyskakuje mi błąd:
pure virtual method called terminate called without an active exception
W moich klasach nie mam żadnego konstruktora ani destruktora, a z tego co czytałem na forach to był najczestszy błąd z tym związany.
class Figura{
public:
virtual void ruch(int,int)=0;
virtual void bicie(int,int)=0;
virtual void zapis_x(int)=0;
virtual void zapis_y(int)=0;
virtual void zapis_licznik()=0;
virtual int odczyt_kolor()=0;
virtual int odczyt_x()=0;
virtual int odczyt_y()=0;
virtual string odczyt_wyglad()=0;
virtual int odczyt_licznik()=0;
virtual int odczyt_wartosc()=0;
virtual void drukuj_wyglad()=0;
virtual void drukuj_x()=0;
virtual void drukuj_y()=0;
int kolor;
int wartosc;
int x;
int y;
//Figura* wsk;
string wyglad;
static int licznik;
};
class pionek
:public Figura
{
void ruch(int,int);
void bicie(int,int);
void zapis_x(int);
void zapis_y(int);
void zapis_licznik();
int odczyt_x();
int odczyt_y();
int odczyt_kolor();
string odczyt_wyglad();
int odczyt_licznik();
int odczyt_wartosc();
void drukuj_wyglad();
void drukuj_x();
void drukuj_y();
public:
int kolor;
int wartosc;
int x;
int y;
}
class pole{
public:
int kolor; //bialy to 0, czarny to 1
int linia_x;
int kolumna_y;
bool zajete;
string wyglad;
Figura* figura;
};
To są moje klasy
void wybor()
{
int x,y,gdzie_x,gdzie_y;
cin >> x >>y>>gdzie_x>>gdzie_y;
szachownica[x][y].figura->ruch(gdzie_x,gdzie_y);
}
A w tej funkcji wywala mi program podczas wywoływania metody ruch.
pole szachownica[8][8]
Cała tabela jest zainicjalizowana, a wszystkie wskaźniki na klasę Figura dobrze ustawione, nie wiem w czym jest problem. POMOCY