protected access specifier — Restricts member access to the class and derived classes
access-specifier := protected
The protected
keyword can be
used within a class definition (followed by a colon) to mark
subsequent member declarations as protected or before a base-class
name in the class header to mark the inheritance as protected.
Protected members can be used by the class itself, derived
classes, or by friends. When accessing a protected member, the access
must be through this
or an instance
of the same class or a derived class. It cannot be through a base
class.
Protected inheritance means all public members of the base class become protected in the derived class.
See private
for an
example.