When in Doubt, Create an Interface
One of the features of some modern object oriented languages derived from C++ is the use of interfaces. An interface is a class that has no concrete implementation and provides only an interface to access its resources. Each interface needs to be implemented by some concrete class, but the advantage is that they make it…