I am going through this article http://www.gotw.ca/publications/mill18.htm by Herb Sutter. The author mentions that writing non-virtual interfaces separates the interface sp
When you specify the virtual public interface, int Process( Gadget& );
, you are also restricting the extension interface to match this public interface. Whoever extends this class will need to do this by implementing the Process
function.
Providing a cleaner public interface and a more suitable [batch] of well designed private functions for customization will allow tackling our two goals individually.