Witam, mam problem z kasą abstrakcji. wyskakuje mi błąd "Cannot instantiate abstract class" i nie mam pojęcia co tak na prawdę robię nie tak.
Problem wyskakuje przy tworzeniu nowego elementu cRectangle/
void cScena::klawisz(unsigned char znak, int x, int y)
{
std::cout << "Naciśnięto klawisz: " << znak << ", a myszka znajduje się w pozycji: " << x << ", " << y << "(w pikselach)" << std::endl;
switch (znak)
{
case 'p':
{
cRectangle *pr = new cRectangle; //w tym miejscu jest blad
tab.push_back(pr);
aktywny = tab.size() - 1;
break;
}
...
}
plik nagłówkowy tej klasy to:
#ifndef SCENA_H_
#define SCENA_H_
#include <vector>
#include "figura.h"
#include "prostokat.h"
using namespace std;
class cScena
{
public:
cScena();
void rysuj();
void klawisz(unsigned char znak, int x, int y);
void inicjuj();
private:
int aktywny;
vector<cFigura*> tab;
};
extern cScena scena;
#endif
oprócz tego mam zdefiniowaną w osobnym pliku klasę cRectangle, która jest na na pewno poprawna. Jeśli ma ktoś jakiś pomysł, byłbym wdzięczny za pomoc.