Модификатор protected определяет свойства и функции, которые из вне класса видны только в классах-наследниках:
Здесь в классе Person свойство name определенно как protected, поэтому оно доступно в классе-наследнике Employee (однако вне базового и производного класса - например, в функции main оно недоступно).
А вот свойство age - приватное, поэтому оно доступно только внутри класса Person.
Также в классе Employee будет доступна функция printPerson(), так как она имеет модификатор protected, а функции printAge() и printName() с модификатором private будут недоступны.