首页 > 代码库 > 【虚】示例代码
【虚】示例代码
三.虚析构
#include <iostream>using namespace std;class Base{public: virtual ~Base(){ cout<<"Base destructor\n"; }};class Derived:public Base{public: Derived(){ iPtr = new int(0); } ~Derived(){ cout <<"Derived destructor\n"; delete iPtr; // 这里会调用 基类 析构函数?!!! }private: int *iPtr;};void fun(Base *b){ delete b; }//delete会调用析构函数,这里调用派生类的析构void main(){ Base *b=new Derived(); //基类型指针d 指向派生类对象,分配了内存,就要在对象消失时 释放相应的内存 //通过 基类指针b 删除 派生类对象 fun(b);}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。