1. 가상 소멸자
virtual로 선언된 소멸자다.
상속 관계가 있다면 가상 소멸자를 선언하는 것이 좋다.
자식 클래스의 인스턴스가 소멸할 경우 자식 클래스의 소멸자만 불리게 되므로 부모 클래스에서 동적 할당한 자료가 해제되지 않아 메모리 누수의 위험이 있다. 하지만 부모 클래스에 virtual 키워드를 붙여면 자식 클래스의 소멸자는 자동으로 virtual이 된다.
추가적으로 소멸자가 불릴 때는 자식, 부모 클래스 순으로 불리게 된다.
참고 자료
'CS 지식' 카테고리의 다른 글
[C++] 상등성과 동등성 (0) | 2025.05.08 |
---|---|
[C++] 순수 가상 함수 (pure virtual function) (0) | 2025.05.08 |
[C++] vector (0) | 2025.05.08 |
[C++] typedef vs using (별칭 선언) (0) | 2025.05.08 |
[C++] template (0) | 2025.05.08 |