The SFML Drawable class
The Drawable
class has just one function. It has no variables either. Furthermore, its one and only function is pure virtual. This means that if we inherit from Drawable
, we must implement its one and only function. The purpose of this, which you may remember from Chapter 12, Abstraction and Code Management — Making Better Use of OOP, is that we can then use our class, which inherits from drawable
, as a polymorphic type. Put more simply, anything that SFML allows us to do with a Drawable
object, we will be able to do with our class that inherits from it. The only requirement is that we must provide a definition for the pure virtual function, draw
.
Some classes that inherit from Drawable
already include Sprite
and VertexArray
(among others). Whenever we have used Sprite
or VertexArray
, we have passed them to the draw
function of the RenderWindow
class.
The reason that we have been able to draw every object we have drawn in this book...