인프런 커뮤니티 질문&답변

Moderich님의 프로필 이미지
Moderich

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

은닉성

상속 접근 지정자 질문드립니다

작성

·

198

0

 

{}

class SuperCar : private Car

{
public:
     void PushRemoteControl() {}
}

class TestSuperCar : private SuperCar

{}

int main()
{
      TestSuperCar TSC;
      TSC.PushRemoteControl(); -----> Error
}

 

위 코드의 main함수에서 TSC객체를 통해 PushRemoteControl을 접근할 수 없다고 강의중에 설명해주셨는데요

 

TestSuperCar 클래스가 SuperCar 클래스를 private로 상속받아도 지금 당장은 TSC객체를 통해 PushRemoteControl함수를 접근 할 수 있어야 하는게 아닌가요?

private상속을 제대로 이해한게 맞다면  TestSuperCar를 상속받는 다음 클래스에서는 모든 접근 권한이 private이 되기 때문에 PushRemoteControl을 사용하지 못해야 할 것 같은데 그렇지 않은 이유가 뭔가요?

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

그냥 문법이 그렇습니다.
살짝 이해를 잘못 하신 부분이 있는데,
TestSuperCar를 [또 상속받는] 클래스에 뭔가 적용된다는 의미가 아니고,
TestSuperCar 그 자체에 SuperCar의 모든 기능이
private으로 적어준 것 마냥 물려받게 됩니다.

<< 요런 느낌

 

Moderich님의 프로필 이미지
Moderich

작성한 질문수

질문하기