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
{
...
};
'스터디 > C++' 카테고리의 다른 글
[ C++ ] 클래스, 객체, 인스턴스 정리 (0) | 2019.09.26 |
---|---|
[ C++ ] 클래스 상속을 위한 조건 ( IS-A, HAS-A ) (0) | 2019.09.26 |
[ C++ ] 컨트롤(Control)클래스 / 핸들러(Handler) 클래스 (0) | 2019.09.26 |
[ C++ ] static 멤버변수( 클래스 변수 )와 static 멤버함수, mutable (0) | 2019.09.26 |
[ C++ ] 클래스의 friend 선언, 함수의 friend 선언 (0) | 2019.09.26 |