class A
{
public:
 A() { a = new int; }
 ~A() { delete a; }
private:
 int *a;
};

class B : public A
{
public:
 B() { b = new char; }
 ~B() { delete b; }
private:
 char *b;
};

int main(int argc, char *argv[])
{
 A *t = new B;
 delete reinterpret_cast<B>(t);
}


메모리영역에 할당된건 B아님?

어차피 t가 A타입이여도 메모리영역에 char *b는 할당이 되어있는데 B타입으로 형변환이 안되는 이유가 모에여?