读书笔记:virtual关键字分析
来源:互联网 发布:淘宝神笔模板怎么用 编辑:程序博客网 时间:2024/06/06 12:27
1、当一个类被用来作为基类的时候,才会把析构函数写成虚函数 --注意是基类
样例:没有基类
class CBase { public: CBase(){ OutputDebugStringA("CCBase\n"); } //基类没有声明virtual ~CBase(){ OutputDebugStringA("~CCBase\n"); } private: int number; }; class CTest:public CBase { public: CTest():CBase(){ OutputDebugStringA("CCTest\n"); } ~CTest() { OutputDebugStringA("~CCTest\n"); } };int _tmain(int argc, _TCHAR* argv[]){ CTest* objTest = new CTest; CBase* p = objTest; delete p; //只输出:~CCBase return 0;}
从上面样例知道,在析构的时候在CBase 的虚函数表里面找不到虚构函数,说明它不会进行多态处理,只析构的基类。如果CBase的析构函数加上virtrual关键字,那么先打印~CTest,然后打印~Cbase。
0 0
- 读书笔记:virtual关键字分析
- virtual 关键字
- virtual 关键字
- virtual 关键字
- virtual 关键字
- virtual 关键字
- Virtual关键字
- virtual关键字
- virtual关键字
- Virtual关键字
- virtual关键字
- C++ virtual 关键字详解
- C++ virtual关键字理解
- C# 关键字--virtual
- virtual关键字用法总结
- C#的Virtual关键字
- C++ virtual关键字理解
- C# 关键字--virtual
- Jmeter学习(三)——常用测试元件
- JAVA---关于public class的理解
- 深入Android开发之--理解View#onTouchEvent
- 手机管理应用研究【3】—— 垃圾清理篇
- Struts2系统学习(7)Action中取得请求参数的方法总结
- 读书笔记:virtual关键字分析
- JavaScript中的this
- Oracle 常见问题整理,来自CSDN帖子
- Java中volatile的作用以及用法
- [Shell]使用find命令查找最近修改过的文件
- ci Controller.php解析
- Github上iOS开源项目分类及
- ARM7 低级错误
- HDU 3277 Marriage Match III 二分+网络流拆点