首页 > 代码库 > 虚析构函数
虚析构函数
#include <iostream> #include <cstdio> #include <string> using namespace std; class Base{ public: virtual ~Base(){ cout<<"Base deconstruct func"<<endl; } }; class Derive: public Base{ public: ~Derive(){ cout<<"Derive deconstruct func"<<endl; } }; int main() { Derive *p = new Derive(); delete p; //使用派生类指针指向派生类,会自动调用基类析构函数 Base *p1 = new Derive(); delete p1; //使用基类指针指向派生类,只有当基类析构函数定位为虚函数的时候,才会自动调用派生类析构函数,然后在调用基类的析构函数 与虚函数表有关 system("pause"); return 0; }
当然不一定要把所有的析构函数都设置成虚函数,因为会增加空间消耗。
虚析构函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。