继承和多态是面向对象编程的基础。面向对象编程的关键思想是多态,而多态最基本的使用实现机制就是继承机制。
当通过基类的引用(指针)调用虚函数时,会触发多态。引用(指针)既可指向基类也可指向派生类,这是发生多态的关键所在。引用(指针)调用虚函数,在运行时确定到底哪个函数会被调用。在继承机制中,派生类继承基类定义的成员,派生类可重定义基类定义的成员函数。这同时也是继承类编写最容易出问题的地方。
本章的议题是继承和多态,他们是C++语言面向对象的灵魂所在。通过本章提供的信息,可帮助读者对继承和多态有一个更加深刻的认识。
实用经验 76 基类析构函数应声明为virtual函数
实用经验 77 明晰public,protected,private三种继承差别
实用经验 78 谨慎的使用多继承
实用经验 79 提防对象切
实用经验 80 理解派生类构造/析构运行原理
实用经验 81 谨慎的使用private继承
实用经验 82 区分overloading/overriding/hiding的差异
实用经验 83 确保public继承是“is-a”关系
实用经验 84 区分接口继承和实现继承
实用经验 85 不要重新定义继承而来的非虚函数
实用经验 86 绝对不要重新定义继承而来的缺省参数
实用经验 87 切记继承过度滥用
实用经验 88 虚函数重载的陷阱
实用经验 89 关于虚赋值的问题