面向对象的编程(OOP)基于三个基本概念:数据抽象(也就是类的概念),继承和动态绑定。而虚函数表现了动态绑定(多态性),应用和指针的静态类型与动态类型可以不同,这是C++用以支持多态性的基石。
通过基类引用和指针调用基类中定义的函数时,我们并不知道执行函数的对象的确切类型,执行函数的对象可能是基类类型,也可能是派生类类型。
面向对象的编程(OOP)基于三个基本概念:数据抽象(也就是类的概念),继承和动态绑定。而虚函数表现了动态绑定(多态性),应用和指针的静态类型与动态类型可以不同,这是C++用以支持多态性的基石。
通过基类引用和指针调用基类中定义的函数时,我们并不知道执行函数的对象的确切类型,执行函数的对象可能是基类类型,也可能是派生类类型。