More on Access Control
When deriving some subclass, the inheritance itself can also be either public, private, or protected
All members (data and functions) are promoted to at least the protection level of the inheritance type
Derivation makes protection more stringent (never relaxes it)
The default is private inheritance