设为首页 加入收藏

TOP

C++学习笔记25,永远将析构函数声明为virtual
2015-07-24 05:55:45 来源: 作者: 【 】 浏览:5
Tags:学习 笔记 永远 函数 声明 virtual

要永远记得将析构函数声明为virtual---->< >

或许你觉得这句话不一定对,但无需质疑的是这句话是很有用的.

查看下面的例子:

#include 
  
   
#include 
   
     using namespace std; class B{ public: ~B(){ cout<<"base is destroyed!"<
    
     
这个是一个很简单的例子,输出是肯定的.

\

但是,再看下面的测试!<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHByZSBjbGFzcz0="brush:java;">#include #include using namespace std; class B{ public: ~B(){ cout<<"base is destroyed!"< \

因此可以看到,当用一个基类的指针指向一个派生类的对象,直接删除该指针时,析构函数调用链将会遭到破坏.

#include 
      
       
#include 
       
         using namespace std; class B{ public: virtual ~B(){ cout<<"base is destroyed!"<
        
         

因此应该记得将析构函数声明为virtual,这样就永远不用担心析构函数调用链遭到破坏!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVA 11205 The broken pedometer.. 下一篇Merge k Sorted Lists

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: