C++面向对象程序设计
OBJECTIVESIn this chapter you will learn: What polymorphism is, how it makes programming more convenient, and how it makes systems more extensible and maintainable. To declare and use virtual functions to effect polymorphism. The distinction between abstract and concrete classes. To declare pure virtual functions to create abstract classes. How to use run-time type information (RTTI) with downcasting, dynamic_cast, typeid and type_info. How C++ implements virtual functions and dynamic binding "under the hood." How to use virtual destructors to ensure that all appropriate destructors run on an object.