본문 바로가기
스터디/C++

[ C++ ] public 상속, protected 상속, private 상속

by 알 수 없는 사용자 2019. 9. 26.

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
{
	...
};