面向对象编程基于三个基本概念:数据抽象、继承和 动态绑定;
在c++中,用类进行数据抽象; 用类派生从一个类继承另一个类:派生类继承基类的成员;
多态:动态绑定使编译器能够在 运行时 决定是使用基类中定义的函数还是派生类中定义的函数;
面向对象编程的关键思想是多态性(polymorphism);实现多态必须通过:1、继承 2、动态绑定
通过动态绑定(dynamic binding)能够编写程序使用继承层次中任意类型的对象,无须关心对象的具体类型。使用这些类的程序
无须区分函数是在基类还是在派生类中定义的;
在c++中,通过基类的引用(或指针)调用虚函数时,发生动态绑定。引用(或指针)既可以指向基类对象也可以指向派生类对象,这一事实是动态绑定的关键。用引用(或指针)调用的虚函数在运行是确定,被调用的函数是引用(或指针)所指对象的实际类型所定义的;