프로그래밍 언어/C++

[C++] private, public 및 protected 상속의 차이점

Rateye 2021. 11. 4. 10:45
728x90
반응형
질문 : 개인, 공용 및 보호 상속의 차이점

C ++ 에서 public , privateprotected 상속의 차이점은 무엇입니까?

내가 찾은 모든 질문은 특정 사례를 다룹니다.

답변

이 질문에 답하기 위해 먼저 회원의 접근자를 제 말로 설명하고 싶습니다. 이미 알고있는 경우 "다음 :"제목으로 건너 뜁니다.

내가 알고있는 세 가지 접근자가 있습니다 : public , protectedprivate .

허락하다:

class Base {
    public:
        int publicMember;
    protected:
        int protectedMember;
    private:
        int privateMember;
};
  • Base 인식하는 모든 것은 Base publicMember 가 포함되어 있다는 것도 알고 있습니다.
  • 하위 (및 하위) 만 Base protectedMember 가 포함되어 있음을 알고 있습니다.
  • Base privateMember 알고 있습니다.

"인식"이란 "의 존재를 인정하여 액세스 할 수 있음"을 의미합니다.

공용, 개인 및 보호 상속에서도 마찬가지입니다. Base 클래스와 Base 에서 상속받은 Child 클래스를 생각해 봅시다.

  • 상속이 경우 public 의 인식 모든 BaseChild 또한 알고 Child 에서 상속 Base .
  • 상속이 protected 이면 Child Base 에서 상속 함을 인식합니다.
  • 상속이 private Child 이외의 누구도 상속을 인식하지 못합니다.
출처 : https://stackoverflow.com/questions/860339/difference-between-private-public-and-protected-inheritance
728x90
반응형