构造函数和析构函数能不能是虚函数
从实现上看,vbtl在构造函数调用后才建立,因而构造函数不可能成为虚函数
从实际含义上看,在调用构造函数时还不能确定对象的真实类型(因为子类会调父类的构造函数);而且构造函数的作用是提供初始化,在对象生命期只执行一次,不是对象的动态行为,也没有太大的必要成为虚函数
析构函数设为虚函数的作用:
解释:在类的继承中,如果有基类指针指向派生类,那么用基类指针delete时,如果不定义成虚函数,派生类中派生的那部分无法析构。造成内存泄漏
转载于:https://www.cnblogs.com/danielrocks/p/3415511.html
构造函数和析构函数能不能是虚函数相关推荐
- 【C++深度剖析教程33】C++中的构造函数与析构函数是否可以为虚函数
加qq1126137994 微信:liu1126137994 一起学习更多技术!!! 问题一:构造函数与析构函数可以成为虚函数么? 答案: 1.构造函数不可以成为虚函数 因为在构造函数执行结束后,虚函 ...
- C++经验(四)-- 基类构造函数和析构函数中调用virtual虚函数?
class Base {public:Base();virtual void oneFunction() = 0;... };Base::Base() {...oneFunction(); }clas ...
- 构造函数和析构函数能否声明为虚函数?
构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数. 不建议在构造函数和析构函数里面调用虚函数. 构造函数不能声明为虚函数的原因是: 解释一:所谓虚函数就是多态情况下只执行 ...
- 构造函数不可以声明为虚函数,析构函数可以声明为虚函数
构造函数不能声明为虚函数,而析构函数可以声明为虚函数,在有的情景下析构函数必须声明为虚函数. 不建议在构造函数和析构函数里调用虚函数. 构造函数不能声明为虚函数的原因? 构造一个对象时,必须知道对象 ...
- 构造函数为什么一般不定义为虚函数?而析构函数一般写成虚函数的原因 ?
1.构造函数不能声明为虚函数 1)因为创建一个对象时需要确定对象的类型,而虚函数是在运行时确定其类型的.而在构造一个对象时,由于对象还未创建成功,编译器无法知道对象的实际类型,是类本身还是类的派生类等 ...
- 析构函数为什么写成虚函数?
由于类的多态性,基类指针可以指向派生类的对象.如果删除该基类的指针,就会调用该指针指向的派生类的析构函数,而派生类的析构函数又会自动调用基类的析构函数,这样整个派生类的对象被完全释放.· 如果析构函数 ...
- 为什么基类的析构函数要声明成虚函数
记得以后基类(父类) 的析构函数最好是声明为 虚函数 即:virtual 开发中遇到了一个比较傻逼的bug,也证明了理论与实际之间的差距. 在基类中没有声明其析构函数为虚函数,导致delete 释放操 ...
- C++——析构函数为什么要为虚函数
注:本文内容来源于zhice163博文,感谢作者的整理. 为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生. 下面转自网络:源地址 ht ...
- C++析构函数为什么要为虚函数?
1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生. 下面转自网络:源地址 http://blog.sina.com.cn/s/blo ...
最新文章
- 90sec mysql_dedecms被挂马 /plus/90sec.php解决方法
- Kali Linux下运行Sniffjoke出错的解决
- 【HDOJ】1196 Lowest Bit
- .Net面试经验,从北京到杭州
- JavaScript and CSS
- c语言创建通讯录不用指针,用C语言做通讯录,只能用数组,不能用指针,急用啊,谢谢了...
- Tomcat性能调优及JVM内存工作原理
- 移动Web开发之流式布局笔记
- 计算机无法删除ie,ie删不掉的原因及解决方法【图解】
- 心理学与生活 - 发展与教育
- openGL中用Assimp库加载骨骼动画
- IT人跨界:开了咖啡店却从没想过赚钱
- PHP3d地球,Photoshop制作真实3D立体地球
- MOOC《程序设计入门——C语言》错题集
- 计算机学猫叫音乐,抖音学猫叫音乐 抖音学猫叫什么歌
- 基于MATLAB开发AUTOSAR软件应用层模块-part4.将MATLAB生成的ARXML文件导入到达芬奇Developer
- BUUCTF-九连环
- 不愧是腾讯 ,问的贼细
- 揭秘软件臃肿的真实原因!
- Unity炸弹爆炸伤害(群攻伤害)
热门文章
- pico park无法连接至远程服务器,picopark联机失败怎么办 picopark联机进不去问题解决方法...
- thymeleaf 获取yml中的值_SpringBoot引入Thymeleaf
- 数据挖掘的一个完整过程
- hdu3691(无向图最小割的求解)
- [JLOI2011]不重复数字
- linux查看并口设备,如何在LINUX下实现硬件的自动检测(下)
- vc下c语言网络编程,用VC编写C/S消息传送程序
- PKUWC2019游记WC2019游记
- python-三元运算
- 小程序短视频项目———开发用户登录注册(一)