항목 9: 객체 생성 및 소멸 과정 중에는 절대로 가상 함수를 호출하지 말자
이유 1. 객체의 생성과 소멸과정 중 가상 함수가 날라간 상태라면 신비로운 동작을 하기 때문이다. 왜냐하면 파생 객체가 만들어 질때, 베이스 생성자가 호출되는 동안은 베이스 생성자만 초기화 값을 가지고 있고 베이스 클래스의 소멸자가 호출되어 질때, 이미 파생 클래스의 데이터들은 이미 소멸되었기 때문에, 파생클래스 쪽으로 내려가서 호출되어지지 않기 때문이다! 주의점 1. 객체의 생성과 소멸 시점에 대해서 숙지하고 있어야 한다. 참조 구역 참조 참조 상속 관계에 있는 객체의 생성자와 소멸자 호출 시점 1. 생성자 호출 시점 첫째, 베이스 생성자 호출 후 베이스 생성자의 멤버 객체들 초기화 둘째, 파생 생성자 호출 후 파생 생성자의 멤버 객체들 초기화 2. 소멸자 호출 시점 첫째, 파생 소멸자 호출 후 파생 ..
책 정리/Effective C++ 3판
2008. 5. 31. 15:56
최근댓글