1、虚函数表的创建时机
编译器发现类中包含virtual关键字修饰的函数就会创建虚函数表
虚函数表的内容在编译器编译的时候已经生成
虚函数表存在于全局数据区的只读数据段中
虚函数表是存放虚函数的地址的数组
2、虚函数表指针创建时机
对象构造时,在构造函数中将虚函数表指针赋值给对象vptr(对象的起始地址)
如果类没有构造函数,编译器会生成一个默认的构造函数,从而为类的vptr初始化。
继承下虚函数表指针的创建过程:
1、调用基类的构造函数,先将基类的虚函数表地址赋值给vptr
2、调用子类的构造函数,将子类的虚函数表地址赋值给vptr