protected 상속은 private 상속과 사용방법, 의미면에서 큰 차이는 없습니다.
protected 상속은 기초 클래스의 public 멤버와 protected멤버가 파생 클래스에서 protected멤버로 됩니다
private 상속과 마찬가지로 클래스 내에서는 사용이 가능하지만 외부에서는 불가능합니다.
class Student : protected valarray<double> {
public:
Student() : valarray<double>(3) { //멤버 초기자 리스트로 초기화
}
};
protected상속은 파생 클래스보다는 파생클로스로 부터 또 다른 클래스를 파생시킬 때 드러납니다.
즉 3세대에서 접근이 가능하게 되는데 3세대까지 파생할거라고 설계를 안 했을 경우에는 별 필요 없습니다.
댓글