In C++ inheritance, a protected member of the base class remains protected in the derived class when inherited in public mode. Public inheritance preserves the access level of protected members - they stay protected, not public. Private inheritance would make them private, and protected inheritance would keep them protected.