기록
240109 클래스 소멸자 가상화
hayo_su
2024. 1. 9. 23:54
상속할 부모클래스의 소멸자는 가상화 해야한다!!
문제점)
프로젝트를 진행할 때 메모리관리를 가능한 선 내에 철저하게 하고싶어
_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
이 매크로 함수를 통해 leak(release)하지 않은 메모리를 확인한다.
leak이 발생하는 것을 확인하였다.
문제 원인)
서버오브젝트와 클라이언트 오브젝트 클래스는 NetObject를 상속받게 만들었고
NetObject 상태로 Release하였기 때문에 소멸자가 부모 클래스만 작동하였던것이다.
해결)
NetObject의 소멸자를 가상화시켜준다!