void main(){
A* pa = new A();
B* pb = (B*)pa; //1
}
class A{
public:
virtual void fun();
}
class B:public A{
public:
virtual void fun();
}
void main(){
A* pa = new A();
B* pb = (B*)pa; //1
}
//1 最终的结果还是运行A::fun,因为虽然转换了指针类型,但是pa指向的内容始终没有发生变化。