“Inherited” is not an ideal description of what is happening; a better way to describe it would be to say that static variables are shared among the subclasses of the base class.
All derived classes obtain access to static variables of their base classes. This includes protected variables, mirroring the situation with variables that are inherited.
The concept of hiding applies as well: when a class-specific variable str
appears in the Child
class, it hides the str
variable of the parent class.
Note that the variable str
of the base class does not become inaccessible: Child
can still access it by fully qualifying with the name of Parent
class.