【单选题】
已知下面的class层次结构,其中每一个class都定义有一个defaultconstructor和一个virtualdestructor:classX{...};classA{...};classB:publicA{...};classC:publicB{...};classD:publicX,publicC{...};下面哪一个dynamic_cast会失败?()
①
D*pd=newD;A*pa=dynamic_cast(pd)
②
A*pa=newC;C*pc=dynamic_cast(pa)
③
B*pb=newB;D*pd=dynamic_cast(pb)
④
A*pa=newD;X*px=dynamic_cast(pa)