虚函数的作用:
1 解决菱形继承的重复数据问题(多继承)
菱形继承如果不用虚函数,导致儿子类有多个父类数据,孙子类集成儿子类中的重复数据
解决 虚基类中的虚指针,通过偏移量指向同一份数据。
2 多态的使用 有利于程序的扩展
父类指针或引用指向子类对象
子类重写虚函数
3 虚析构
子类中有堆区的数据,父类释放不干净。虚析构、纯虚析构通过父类的指针指向子类的对象。
虚函数的作用:
1 解决菱形继承的重复数据问题(多继承)
菱形继承如果不用虚函数,导致儿子类有多个父类数据,孙子类集成儿子类中的重复数据
解决 虚基类中的虚指针,通过偏移量指向同一份数据。
2 多态的使用 有利于程序的扩展
父类指针或引用指向子类对象
子类重写虚函数
3 虚析构
子类中有堆区的数据,父类释放不干净。虚析构、纯虚析构通过父类的指针指向子类的对象。