There are good reasons for constructing the base class interface with all virtual functions as private or protected (see this). But then how does one prevent the derived cla
Promoting a private/protected virtual method to public in a derived class does not expose the base class method. It still cannot be called through a base class pointer. It does not become part of the interface of the base clase.