A클래스가 있고 B클래스가 있는데

B는 A를 상속받고있는상태에서


A* p = new B(); 이런식으로 업캐스팅하고

delete p;하면


A클래스 생성자호출 -> B클래스 생성자호출 -> A클래스 소멸자호출 이런식으로 되는데

자료형이 A클래스라서 A클래스를 생성하고 소멸하는건 이해함.
근데 왜 B생성자까지 부르는거야? 단순히 p가 B를 가리켜서?

그리고 B소멸자를 안부르는 이유는 A클래스로 만들었기 때문에 p는 A클래스 자료형이니까 B자체를 안만들어서 안부르는거임?