제가 대학교 1학년 때 [명품 C++ Programming] 교재로 진행되는 C++ 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다.
(2022.9 ~ 2022.12)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
기본 클래스와 파생 클래스는 각각 생성자를 소유
파생 클래스의 객체 생성시 기본 클래스와 파생 클래스 둘다 생성자가 실행
기본 생성자의 생성자가 먼저 실행됨
→ 기본 클래스의 초기화가 먼저 이루어지고 이를 활용하는 파생 클래스의 초기화가 이루어지는 것은 당연
호출 관계는 컴파일러에 의해 발생
파생 클래스의 생성자를 컴파일 할 때 기본 클래스의 생성자를 호출하는 코드를 삽입
파생 클래스의 생성자에서 기본 클래스의 생성자 호출 시 인자 값을 전달
파생 클래스의 객체 생성 시 반드시 파생 클래스의 생성자 하나와 기본 클래스의 생성자 하나가 실행
→ 파생 클래스와 함께 실행할 기본 클래스의 생성자를 지정해야함
파생 클래스의 생성자를 작성 시 기본 클래스의 생성자를 명시적으로 선택하는 법
→ 파생클래스생성자() : 기본클래스생성자 선언부 { 파생 클래스의 생성자 내용 }
기본 클래스의 생성자를 명시적으로 지정하지 않으면 컴파일러가 묵시적으로 기본 생성자가 실행되도록 함
→ 명시적으로 지정해주는 부분에 : 기본 클래스의 기본 클래스 코드가 자동으로 추가됨