IMHO you should never use protected data members.

You should consider the 3 sections of a class as :-

public :- The interface to calling code. Defines the behaviour of the object.
...