纯虚函数
纯虚析构函数:可以在构造一个纯虚析构函数,如,virtual ~A() = 0; 但是要为这个析构函数构造一个函
数体,这其实并不和纯虚函数的定义相矛盾,因为析构函数总要被派生类调用,如果没有函数体,则不能正
确的析构对象.
纯虚函数可以防止基类实例化。当一个子类没有重新定义基类的纯虚函数,则这个子类也会成为一个抽象
类,但是如果是基类有纯虚析构函数,则编译器会自动重新定义析构函数,这样子类就不会成为抽象类。
当需要进行“向下类型转换”时,采用 dynamic_cast 显示类型转换,是一种安全类型向下转换,如果转
换成功这个返回一个指向需要类型的指针,否则返回0。