C++ 고급 문법 (21) — 가상 소멸자(Virtual Destructor)

Base* p = new Derived; delete p;는 컴파일도 실행도 문제없어 보인다. 하지만 Base의 소멸자가 가상이 아니면 delete는 정적 타입 Base의 소멸자만 호출한다. Derived가 잡은 자원은 해제되지 않고, 표준상으로는 미정의 동작이다.…

Continue ReadingC++ 고급 문법 (21) — 가상 소멸자(Virtual Destructor)