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