protected 상속도 비슷하게 사용한다.
class Student : protected std::string, protected std::valarray<double>
{
...
};
protected 상속에서는 기초 클래스의 public, protected멤버가 파생 클래스의 protected 멤버가 된다. private 상속과 마찬가지로, 기초 클래스의 인터페이스를 받을 수는 있지만, 바깥 세계에서 사용할 수는 없다. 차이점은, protected 상속은, 상속을 한 번 더 할 때 효과가 나타난다. protected 상속을 하면, 파생 클래스 B의 상속을 받는 파생 클래스 C가 B의 protected 멤버를 사용할 수 있다.