码迷,mamicode.com
首页 > 编程语言 > 详细

Effective C++ 条款七 为多态基类声明virtual析构函数

时间:2014-08-15 17:35:59      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   os   ar   cti   div   html   

 class TimeKeeper
  {
  public:
      TimeKeeper();
     // ~TimeKeeper(); 错误,此作为一个基类,被继承了。其继承类被delete后,基类被销毁,但继承类可能没被销毁
      virtual ~TimeKeeper();//必须声明为virtual类型才可以。
  protected:
  private:
  };
 
  class AtomicClock: public TimeKeeper{}; //继承
 
  TimeKeeper* ptk = getTimeKeeper();
  delete ptk;

 

记住:

       1、带多态性质的基类应该声明为一个virtual析构函数,如果class带有任何virtual函数,他就应该拥有一个virtual析构函数。

       2、classes设计的目的如果不是作为基类使用,或者不是为了具备多态性,就不应该声明为virtual类型的析构函数。

      

      

Effective C++ 条款七 为多态基类声明virtual析构函数,布布扣,bubuko.com

Effective C++ 条款七 为多态基类声明virtual析构函数

标签:style   color   使用   os   ar   cti   div   html   

原文地址:http://www.cnblogs.com/zhuxuekui/p/3915228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!