Exploring SFML's Drawable class and OOP
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, as a reminder from Chapter 14, Abstraction and Code Management – Making Better Use of OOP, is that we can then use our class that 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 passed them to the draw function of the RenderWindow class.
The reason that we have been able to draw every object we have ever drawn, in this entire book, is...