cannot allocate an object of abstract type

0
class figura {
	public:
        virtual float pole() =0;
	};

class trojkat : public figura {
	public:
		trojkat(int,int,int,int,int,int);
		float pole() const { return 2;}
	};
...

list<figura> trojkaty;
trojkaty.push_back(trojkat(0,0,0,1,1,0)); //błąd

Powoduje mi to błąd. Potrafi ktoś na to zaradzić?

0

Taki błąd:

error: cannot allocate an object of abstract type 'trojkat'

1

list<figura> trojkaty;

nie możesz mieć obiektów figura ponieważ jest to klasa abstrakcyjna. Masz o tym błąd. Zrób vector wskaźników na obiekty figura i tam dodawaj trojkaty (poprzez new)

0

Ło matko. To już wole z tego zwykłą klasę zrobić, może będzie zaliczenie. Dzięki enyłej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1