一、多态的定义及条件 二、虚函数与重写 2.1virtual 注意事项:只有成员函数可以是虚函数 2.2三同与重写 2.3用基类的指针或引用 注意事项:指针指向什么对象就调用其相应的函数 2.4重写条件的例外 协变与重写 析构函数的重写 为什么析构函数需重写 2.5override与final 2.6含有虚函数的类的大小 注意事项:Base类中存有一个指针和一个char型数据、存在内存对齐 2.7重载重写重定义 练习1:多态下函数的调用 练习2:为什么必须是基类的指针或引用调用重写虚函数 2.8虚函数表与虚函数 三、静态多态与动态多态 四、单继承、多继承、虚函数表 1.vs监视窗口隐藏未重写虚函数的问题 1.1打印虚函数表验证隐藏函数 2.多继承与虚函数表的打印 2.1多继承下重写的函数地址不同的问题 注意事项:此处的func1是Derive重写,实际上最后还是调用了同一地址的func1(即Derive的) 不同的调用func1的方式,区别在于调用的时期不同: 注意事项:多继承的多态模型 五、抽象类 六、面试问题