借助虚函数,基类指针既 可以使用基类的成员函数,也可以使用派生类的成员函数,它有多种形态,或多种表现方式,这就是多态(Polymorphism)。
C++提供多态的目的是:可以通过基类指针对所有派生类(包括直接派生和间接派生)的成员变量和成员函数进行“全方位”的访问,尤其是成员函数。如果没有多态,我们只能访问成员变量。
构成多态的条件
多态存在的三个条件:
1.必须存在继承关系;
2.继承关系中必须有同名的虚函数,并且它们是覆盖关系(重载不行)。
3.存在基类的指针,通过该指针调用虚函数。