Public, protected и private — это модификаторы доступа к членам класса в C++. 5
Public — доступ открыт всем, кто видит определение данного класса. 5 К открытым членам класса можно получить доступ из любого места программы. 1
Private — доступ открыт самому классу (то есть функциям-членам данного класса) и друзьям (friend) данного класса, как функциям, так и классам. 5 К членам класса, объявленным как private, не допускается прямой доступ никаким объектам или функциям вне класса. 1
Protected — доступ открыт классам, производным от данного. 5 Члены класса, объявленные как protected, могут использоваться функциями-членами и друзьями (классами или функциями) класса, а также производными классами данного класса. 2