摘要: 1.为什么要定义虚析构函数?如果有一个带有虚函数功能的类,则它需要一个虚析构函数,原因如下:1)如果一个类有虚函数功能,它经常作为一个基类使用;2)如果它是一个基类,它的派生类经常使用new来分配;3)如果一个派生类对象使用new来分配,并且通过一个指向它的基类的指针来控制,那么它经常通过一个指向它的基类的指针来删除它(如果基类没有虚析构函数,结果将是不确定的,实际发生时,派生类的析构函数永远不会被调用);基类有虚析构函数的话,最底层的派生类的析构函数最先被调用,然后各个基类的析构函数被调用。2.声明为保护(protected)的析构函数如果在一个派生类中定义了基类以外的成员对象,且基类析构函 阅读全文
posted @ 2012-10-17 12:24 fly1988happy 阅读(953) 评论(0) 推荐(0)