C++虚析构函数
来源:互联网 发布:js trim 编辑:程序博客网 时间:2024/06/09 17:12
如果基类中存在一个指向动态分配内存的成员变量,并且基类的析构函数中定义了释放该动态分配内存的代码,那么就应该将基类的析构函数声明为虚函数,这样可以将子类对象中的开辟的动态空间回收。
#include <iostream>using namespace std;//基类class Base{private: int *a;public: Base(); virtual ~Base(){ cout<<"Base destructor"<<endl; }};Base::Base(){ a = new int[100]; cout<<"Base constructor"<<endl;}//派生类class Derived: public Base{private: int *b;public: Derived(); ~Derived( ){ cout<<"Derived destructor"<<endl; }};Derived::Derived(){ b = new int[100]; cout<<"Derived constructor"<<endl;}int main( ){ Base *p = new Derived; delete p; return 0;}
运行截图
0 0
- C++-----虚析构函数
- C++----虚析构函数
- C++【浅谈虚析构函数】
- C++_虚析构函数
- 【c++】虚析构函数
- (C++)虚析构函数
- C++---------之--------【虚析构函数】
- 【C/C++】C++虚析构函数的作用
- [C/C++]C函数
- 【C++】正确使用虚析构函数
- c++------------之---【虚析构函数应用】
- <C++>析构函数、虚析构函数和构造函数
- c 函数
- C函数
- C 函数
- C函数
- 【C++】函数
- C 函数
- Android PopupWindow详解
- 监听socket初始化
- C语言结构体的字节对齐原则
- Java小程序之句子每个单词首字母大写(两种方法)
- Android .9.png的由来和制作
- C++虚析构函数
- Hadoop2.6.0的事件分类与实现
- wiat()与waitpid()
- Mac OS X上搭建本地SVN服务器
- Linux内存管理之一 分段与分页
- php中this,self,parent三个关键字
- TCP协议的学习(六)滑动窗口 停止等待 退后N帧 选择重传
- JDBC开发步骤
- SUSE学习(网络配置)