C++ 부모클래스를 상속받은 자식 클래스로 동적메모리 할당했을 때

ikpil의 이미지

상황
부모클래스를 상속받은 자식 클래스로 동적메모리 할당받고, 그 포인터를 부모클래스형식으로 받고 부모클래스를 삭제 하게 된다면, 자식 클래스의 영역의 메모리는 해체되지 않나요?

class 부모님
{
.... 12바이트
}

class 아이들 : public 부모님
{
...... 8바이트
}

// 이때 sizeof(*hehe) 사용시 12바이트로 출력됨
부모님 *hehe = new 아이들;

// 이때 부모님 소멸자만 호출됨
delete hehe;

질문
아이들 클래스 크기많음 할당된 메모리 20바이트중 12바이트는 소멸되지만 8바이트는 소멸 안되는것인가요?

코드

#include <iostream>
 
class CBABO
{
public:
	int a;
	~CBABO()
	{
		std::cout << "CBABO 소멸자 호출" <<std::endl;
	}
private:
	int b;
};
 
 
class CIKPIL : public CBABO
{
public:
	int c;
	~CIKPIL()
	{
		std::cout << "CIKPIL 소멸자 호출" <<std::endl;
	}
};
 
 
int main()
{
	CBABO *hehe = new CIKPIL;
 
	std::cout << sizeof(*hehe) << std::endl;
 
	delete hehe;
}

klara의 이미지

상속받을 것을 염두에 둔 클래스라면 무조건 소멸자를 virtual로 선언해주어야 합니다.
그렇지 않으면 말씀하신 것 처럼 다형성을 이용해서 프로그래밍할때 자식클래스의 소멸자가 호출되지 않습니다.
더 자세한건 가상 소멸자에대해 찾아보시면 될것 같습니다.

ikpil의 이미지

한가지 의문점이 듭니다만, 글을 통해 질문을 올리겠습니다.