Member Hiding
Hiding applies the same for data members as it does for
member functions.
Any base class data members that are public or protected
are accessible by the derived class.
If the derived class defines data members of the same
name (even though the types may be different), any base
class data members of that name are hidden.
It is the derived class data member that is accessed and
not the hidden base class member regardless of the data
type.