1.多态
让父类参数表现出其实际类型(派生类)的行为。
将派生类对象看做基类对象,并执行派生类的成员函数。
2.用虚函数实现多态行为
3.基类指针指向派生类的对象
如果基类的指针指向派生类的对象,那么调用delete删除删除这个指针的时候,只会调用基类的析构函数,而不会调用派生类的析构函数。
要解决这个问题,必须把基类中的析构函数声明为虚析构函数。
4.抽象基类和纯虚函数
不能被实例化的基类被称为抽象基类,这样的基类只有一个用途,就是派生出其他类。要创建抽象基类,可以声明纯虚函数。
5.用虚继承解决多继承中的菱形问题
如果派生类可能被用作基类,那么派生的时候最好使用虚继承,也就是加上关键字virtual。