A,B,C 클래스가 있고
B는 A클래스를 상속하고 있다.
이때 C 클래스의 멤버로 B 클래스를 두고서
C 객체를 하나 생성하게 되면
먼저 C 클래스의 constructor로 들어가서,
body를 실행하기 전에 B 클래스의 생성자 호출이 명시되어 있는지 확인하고
명시되어 있다면 해당 B 클래스 생성자를, 명시되어 있지 않다면 B클래스의 void 생성자를 호출한다.
B클래스의 생성자로 들어가서, body를 실행하기 전에 상속하는 A 클래스에 대한 생성자 호출이 명시
되어 있는지를 확인한다.
명시되어 있다면 해당 A클래스 생성자를, 명시되어 있지 않다면 A 클래스의 void 생성자를 호출한다.
그리고 A 클래스의 생성자로 넘어가서, body까지 실행하고 난뒤 B클래스로 돌아온다.
B클래스의 body를 실행하고 나서 C클래스로 넘어온다. C 클래스의 constructor body를 실행한다...
'C++ > 공개글' 카테고리의 다른 글
Polymorphism의 조건 (0) | 2013.01.26 |
---|---|
임시객체와 임시변수의 차이점? (0) | 2013.01.26 |
가상함수는 언제 사용하는가 (0) | 2013.01.26 |
객체와 일반자료형의 반환과 참조 (0) | 2013.01.26 |
정의하지 않아도 자동으로 만들어지는 4가지 함수 (0) | 2013.01.25 |