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...