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