Inheritance
We have seen how we can use other people's hard work by instantiating/creating objects from the classes of the SFML library. But this whole OOP thing goes even further than that.
What if there is a class that has loads of useful functionality in it, but is not quite what we want? In this situation we can inherit from the other class. Just like it sounds, inheritance means we can harness all the features and benefits of other people's classes, including the encapsulation, while further refining or extending the code specifically to our situation. In this project, we will inherit from and extend some SFML classes. We will also do so with our own classes.
Let's look at some code that uses inheritance,
Extending a class
With all this in mind, let's look at an example class and see how we can extend it, just to see the syntax and as a first step.
First, we define a class to inherit from. This is no different from how we created any of our other classes. Take a look...