用基类指针或引用调用虚函数时,编译时编译器不知道调用哪个函数,只有运行时才能确定。
这个过程称为动态绑定,动态绑定和继承以及数据抽象共同构成了面向对象的基础。动态绑定可以帮助我们编写类型无关的代码,忽略有继承关系的类型之间的差异。