标签:构造 http png demo 策略 基类 c++ 不同 父类
析构函数是用来释放对象所申请的资源的函数。 当类内没有自定义的析构函数时,系统会自动调用默认的析构函数。
虚函数的意义在于实现“多态性”。即:不同的个体(派生类),实行(运行)不同的方法或策略。这样说来,析构函数本就可以是“虚”的。
当一个类是既无父类又无派生类时,姑且称他为“孤独类”吧!并没有什么影响,编译器也不会报错。demo见下图例子:
但是,当此类为基类时,就要多加注意了!我们知道,虚函数是动态绑定,即运行时多态。析构时,子类先调用自己的析构函数,再调用父类的析构函数。
当父类(基类)的析构函数不为虚时,发生静态绑定,即编译时,指针绑定为父类指针,调用析构函数时,就只调用基类析构函数,子类(派生类)的析构函数不会被调用,会发生内存泄漏!!!
(这里就不上效果图了,大致就是,不断调用父类析构函数,内存泄漏了......)
C++函数析构函数可以为虚
基类构造函数切记为虚
标签:构造 http png demo 策略 基类 c++ 不同 父类
原文地址:https://www.cnblogs.com/yocichen/p/10371640.html