Когда вы объявляете protected
наследование Base
от Derived
следующим образом
class Derived: protected Base
Вы в основном делаете любые открытые методы Base
класса protected
членов производного класса,Если вместо этого вы объявите наследство как общедоступное через
class Derived: public Base
, вы обнаружите, что сможете получить доступ к derived->g()
просто отлично.