本文目的
最近秋招看到一个有意思的问题,对一个没有虚函数的对象使用dynamic_cast会发生什么情况。想一想平时基本没用过dynamic_cast,于是干脆写点代码验证一下各种情况。首先验证对有虚函数的基类的指针和引用(2种情况),指向基类本身和其派生类(2种情况),一共四种情况的结果。然后验证基类没有虚函数时的这四种情况。
基类有虚函数
1 #include<iostream>
2 #include<typeinfo>
3
4 using namespace std;
5
6 class A{
7 virtual void process(){
}
8 };
9 class B:public A{
10 virtual void