I have a class.
This class is self-consistent, can be instantiated and works as it should.
This class can be inherited to create extensions but when a descendant inherits from the class they MUST explicitly override some methods that in the "base" are defined and working.
Stated that the method that must be overridden are already defined "virtual" how can I FORCE the descendants to provide a new implementation of the method IF/WHEN inheriting?
No, I don't want to mark the method as abstract. If I do the whole class needs to be marked as abstract and it can't be instantiated anymore (and I don't want to create an abstract class and a dummy descendant that does nothing except "releasing" the requirements of the "abstract classes can't be instantiated")
Any hint?