항목 14. 베이스 클래스에서 소멸자는 가상 함수로 선언해야 한다.
항목 14. 베이스 클래스에서 소멸자는 가상 함수로 선언해야 한다. 2008/05/31 14:36 수정 부재 : 모든 베이스 클래스가 아닌, 다형성을 지닌 클래스에 대해선 반드시 가상소멸자를 선언해야 한다. 이유. 1. 베이스 클래스로 자식 클래스의 소멸자를 호출하기 위해서다. - 자식(유도)클래스로 동적메모리 할당 후 부모클래스의 포인터로 받아서 사용할 경우가 생긴다면 자식(유도) 클래스의 소멸자를 꼭 호출해야지만 안전한 프로그래밍이 가능해 지기 때문이다. 문제 해결 1. 베이스 클래스의 소멸자를 virtual 의 키워드를 넣어주면 된다. 주의 해야 할점 1. 소멸자의 호출 시기를 분명히 숙지하고 있어야 한다. 2. 동적메모리를 사용하는 클래스일 경우, 매우 주의깊게 써야 한다 덧붙여 1. 추상 클래스..
책 정리/Effective C++ 2판
2008. 5. 8. 00:03
최근댓글