DIYIT

面朝大海,春暖花开 (手目贝卜口一小囗口贝卜口,言亥扌三人一大!:))

IT博客 首页 新随笔 联系 聚合 管理
  30 Posts :: 2 Stories :: 64 Comments :: 0 Trackbacks

公告

Welcome to my blog,my dear friend!

常用链接

留言簿(8)

随笔分类(22)

随笔档案(30)

相册

收藏夹(4)

my favorites

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

众所周知,在实现多态的过程中,一般将基类的析构函数设为virtual,以便在delete的时候能够多态的链式调用。那么析构函数是否可以设为纯虚呢?
class CBase
{
public:
    CBase()
    {
        printf("CBase()\n");
    }
    virtual ~CBase() = 0;
};
答案是可以,那么这样实现的目的是什么呢?当然是避免实例化。
但因为派生类不可能来实现基类的析构函数,所以基类析构函数虽然可以标为纯虚,但是仍必须实现析构函数,否则派生类无法继承,也无法编译通过。

cooelaf 2006-05-03 21:19

文章来源:http://www.cppblog.com/cooleaf/archive/2006/05/03/6598.html
posted on 2006-05-07 22:44 percy:) 阅读(561) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。