인프런 커뮤니티 질문&답변
부모 클래스의 멤버변수가 상속될 때 초기화
작성
·
379
·
수정됨
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 접근 지정자로 선언된 멤버는 해당 클래스의 파생 클래스라고 하더라도 접근할 수 없습니다.





