작성
·
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
접근 지정자로 선언된 멤버는 해당 클래스의 파생 클래스라고 하더라도 접근할 수 없습니다.