가상소멸자

박호준·2021년 9월 14일
0

동적바인딩 된 함수에서 적절한 소멸자를 호출하기 위해
부모 클래스의 소멸자를 virtual로 선언!

선언하지 않으면 적절한 소멸자가 호출되지 않아 메모리 누수가 날 수 도 있음

class	Animal
{
public :
	Animal(void);
	virtual ~Animal(void);
};
class Cat
{
public :
	Cat(void);
    ~Cat(void);
}

Class	Dog
{
public :
	Dog(void);
    ~Dog(void);
}

int main()
{
	Animal *p = dog(); >>> 동적바인딩 (dog생성)
   	delete p; >> animal 소멸자가 아닌 dog 소멸자가 필요함
}
profile
hopark

0개의 댓글