yhzjut

我的微博:http://weibo.com/u/1864371954

常用链接

统计

最新评论

析构函数何时为虚

在c++教科书中,学习虚析构函数的时候经常会涉及到基类继承等,许多代码也经常把基类的析构函数设置成虚函数,但是有的时候也不一定为虚。那么何时析构函数要设置成虚呢?
简单总结下要用多态的时候就得用虚析构函数。
class shape
{
public:
   shape();
  ~shape();
}
class renctangle:public shape
{
public:
     rectangle();
    ~rectangle();
}
假如我们在应用当中,只会用到继承类,也就是renctangle *a = new recrangle;
之后只用这个a就可以完成功能,那么基类就不用虚析构函数了。
但是,我们有的时候,经常把renctangle指针强制转换成基类,然后用基类的函数操作。最后delete 基类指针,那么这个时候,就必须用虚析构函数。

posted on 2012-08-29 15:26 blinn 阅读(160) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理