На самом деле защищенный элемент данных доступен только с использованием защищенного и публичного наследования.
Вот пример, где защищенный член недоступен в производном классе:
class Base
{
protected:
int iBase;
};
class Derived : private Base
{
// iBase not accessible
};