Abstract base class

Overloading can only be done by varying the argument list. The return type must be the same.

Now what about some code :slight_smile: