스터디/C++
[ C++ ] public 상속, protected 상속, private 상속
알 수 없는 사용자
2019. 9. 26. 19:29
C++의 접근제어 지시자는 public, protected, private 세 가지가 있다.
public < protected < private
로 public이 접근 범위가 가장 넓고, private가 가장 좁다.
public 상속
public 상속은 private을 제외한 protected와 public은 그대로 상속한다.
private는 상속하는 순간부터 접근이 불가능하기 때문이다.
class A : public Parent
{
...
};
protected 상속
protected 상속은 protected보다 접근 범위가 넓은 멤버는 protected로 변경시켜서 상속한다.
그래서 public 멤버가 protected로 바뀌어서 상속된다. private는 동일하게 접근이 불가능하게 된다.
class A : protected Parent
{
...
};
private 상속
private 상속은 private보다 접근 범위가 넓은 멤버는 private로 변경시켜서 상속한다.
그래서 public 멤버와 protected 멤버는 private로 바뀌어서 상속이 되고, private는 동일하게 접근이 불가능하게 된다.
class A : private Parent
{
...
};