纯虚析构函数

原创 2006年06月23日 17:46:00
如果你想定义一个抽象基类,那怎么办?那么定义一个纯虚函数好了。那如果缺少这样一个函数怎么办?呵呵,不用担心,有现成的。就是析构函数。考虑如下代码。
classBase
{
public:
       virtual ~Base() = 0;
};
 
Base::~Base(){printf("Base::~Base()./n");}
 
classDerive:publicBase
{
};
我以前从来没有试过这样,这让我觉得很新鲜也很有趣,原来我对纯虚函数的理解还存在问题,近日算得上是一个进步。

基类的纯虚析构函数一定要予以实现

纯虚函数 纯虚函数是一种特殊的虚函数,在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。 虚函数是C++语言的精髓。含有纯...
  • friendbkf
  • friendbkf
  • 2015年05月17日 18:59
  • 1723

C++中的构造函数/析构函数,虚函数/纯虚函数

1、构造函数能不能是虚函数:  1.1从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过...
  • KingCat666
  • KingCat666
  • 2015年04月07日 10:35
  • 1119

构造函数和析构函数能否声明为虚函数?

构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。 不建议在构造函数和析构函数里面调用虚函数。 构造函数不能声明为虚函数的原因是: 解释一:所谓虚函数就...
  • jw903
  • jw903
  • 2014年08月19日 20:35
  • 1568

虚析构函数示例

  • 2012年02月07日 11:26
  • 472B
  • 下载

<C/C++基础> 合法的纯虚析构函数?

虚函数 首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数(多态性?)。...
  • EbowTang
  • EbowTang
  • 2015年01月23日 19:56
  • 1309

纯虚析构函数必须给出定义

Effective C++ 条歀07:为多态基类声明virtual析构函数(Declare destructors virtual in polymorphic base classes) 纯虚函数...
  • wl1070325332
  • wl1070325332
  • 2017年03月08日 17:18
  • 334

虚基类 虚函数成员 虚析构函数

  • 2013年12月26日 23:03
  • 2KB
  • 下载

068day(虚析构函数,纯虚函数和抽象类)

172210704111-陈国佳总结《2017年12月17日》【连续068天】 标题:虚析构函数,纯虚函数和抽象类; 内容: A.虚析构函数: 1.通过基类的指针删除派生类对象时,通常情况下只调用基类...
  • orangecloudy
  • orangecloudy
  • 2017年12月17日 23:34
  • 12

C++虚基类 虚函数 虚析构函数

  • 2013年12月07日 15:00
  • 725B
  • 下载

C++中虚析构函数和纯虚函数的作用

一. 虚析构函数为了能够正确的调用对象的析构函数,一般要求具有层次结构的顶级类定义其析构函数为虚函数。因为在delete一个抽象类指针时候,必须要通过虚函数找到真正的析构函数。class Base {...
  • u012611878
  • u012611878
  • 2017年12月26日 23:38
  • 24
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:纯虚析构函数
举报原因:
原因补充:

(最多只允许输入30个字)