강의

멘토링

로드맵

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

ㄱㄷㄱ님의 프로필 이미지
ㄱㄷㄱ

작성한 질문수

홍정모의 따라하며 배우는 C++

11.3 유도된 클래스들의 생성 순서

부모 클래스의 멤버변수가 상속될 때 초기화

작성

·

372

·

수정됨

1

class Child :public Mother
{
private:
    double m_d;
public:
    Child()
        :m_d(1.0), m_i(10)
    {
        cout << "child constructor" << endl;
    }

};

위 코드에서 오류가 나는 이유가 Child객체를 실행할 때 m_d와 m_i에 메모리를 주는 과정에서 child객체가 m_i가 무엇인지 인식을 하지 못하기 때문에 에러가 난다고 이해했는데 맞게 생각한걸까요?

답변 1

1

안녕하세요, 답변 도우미 Soobak 입니다.

 

강의에서의 코드 중 m_i 멤버 변수를 부모 클래스에서 private 접근 지정자로 선언하셨을 경우, Mother 클래스의 파생 클래스인 Child 클래스에서 m_i 에 접근할 수 없습니다.

C++ 에서 어떠한 클래스의 private 접근 지정자로 선언된 멤버는 해당 클래스의 파생 클래스라고 하더라도 접근할 수 없습니다.

ㄱㄷㄱ님의 프로필 이미지
ㄱㄷㄱ

작성한 질문수

질문하기