우리는 지금까지 접근 제어 public과 private를 썼다. 하지만 한 가지가 더 있다. 바로 protected다. 일반적으로 볼 때 protected는 private과 비슷하게 public 멤버 함수로만 접근할 수 있다. 한 가지 다른 점은, 파생 클래스에 한해서만 기초 클래스의 protected 부분을 마치 public처럼 이용할 수 있다.
class Brass
{
protected:
double balance;
...
};
이는 장단점이 있다. 기초 클래스의 protected 변수는 파생 클래스가 접근할 수 있기 때문에 보안성이 떨어진다. 그러니 웬만하면 private으로 설정하는 게 좋지만, 또 때에 따라 다를 수도 있다.