-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
부모 클래스의 멤버변수가 상속될 때 초기화
23.12.06 14:37 작성 23.12.06 14:42 수정 조회수 109
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
Soobak
2023.12.07
안녕하세요, 답변 도우미 Soobak 입니다.
강의에서의 코드 중 m_i
멤버 변수를 부모 클래스에서 private
접근 지정자로 선언하셨을 경우, Mother
클래스의 파생 클래스인 Child
클래스에서 m_i
에 접근할 수 없습니다.
C++
에서 어떠한 클래스의 private
접근 지정자로 선언된 멤버는 해당 클래스의 파생 클래스라고 하더라도 접근할 수 없습니다.
답변 1