说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请教:构造函数为啥不能是虚函数?

编辑:说三道四文库 发布时间:2017-02-28 11:49
HTML文档下载 WORD文档下载 PDF文档下载
因为构造派生类对象时,会自动调用基类构造函数。而当执行基类构造函数时(即基类对象被构造时),派生类对象还不存在,而如果基类构造函数如果是虚函数,就会调用派生类构造函数,如果派生类构造函数访问了派生类特有的数据(即基类中没有的数据)时,会造成灾难!
同样道理,即使基类的构造函数调用了虚函数,该虚函数也不会执行派生类的代码,而是执行基类中该函数代码。

见 http://localhost/asp/sunidoc.asp?act=-2&article=224 中的一段

[23.1] 当基类构造函数调用虚函数时,为什么不调用派生类重写的该虚函数? 
当基类被构造时,对象还不是一个派生类的对象,所以如果 Base::Base() 调用了虚函数 
virt(),则 Base::virt() 将被调用,即使 Derived::virt() (译注:即派生类重写的虚 
函数)存在。 

同样,当基类被析构时,对象已经不再是一个派生类对象了,所以如果 Base::~Base() 
调用了 virt(),则 Base::virt() 得到控制权,而不是重写的 Derived::virt()。 

当你可以想象到如果 Derived::virt() 涉及到派生类的某个成员对象将造成的灾难的时候, 
你很快就能看到这种方法的明智。详细来说,如果 Base::Base() 调用了虚函数 virt(), 
这个规则使得 Base::virt()被调用。如果不按照这个规则,Derived::virt()将在派生对象 
的派生部分被构造之前被调用,此时属于派生对象的派生部分的某个成员对象还没有被构造, 
而 Derived::virt() 却能够访问它。这将是灾难。
VPTR 的状态是由被最后调用的构造函数确定的!
源代码管理的六大视觉模式 最新算法面世 可提高云数据库性能 分析称平板电脑应用将占全球应用经济的35% 三大运营商对微信等OTT业务摊牌 Runscope联合创始人John Sheehan:API已死,API永存! IBM在京发布大数据白皮书 提出五项关键建议 Twitter开源Parquet 将支持Impala加速实时查询 使用Go代替Ruby,将服务器数量从30降到2 初创公司SwiftStack:“放在盒子里的S3” 赫尔辛基:全球移动游戏开发者的“黄埔军校” 不只属于三星!uMoove将发布“眼球追踪”SDK Android掌门人Andy Rubin宣布辞职 Chrome主管接任 openSUSE 12.3发布 弃MySQL拥抱MariaDB Meteor:让实时Web App成为主流 别了,Google Reader!谷歌于7月1日关闭服务 “天网”降临 机器人或将崛起? 涅槃重生:Qt 5 for Android预览版发布 Google Play将逐步移除广告拦截应用 Shapeways公司开放API 3D打印时代来临 37signal设计师眼中的iOS与Android系统 VMware/Oracle向公有云拓展生态系统 AWS“山寨”技术伙伴创意与产品,是自我完善还是杀鸡取卵? 苹果发布OS X 10.8.3 新版Boot Camp可支持Windows 8 恭喜!麻省理工两密码学教授获2012图灵奖 Rovio的逆袭,发布首款RPG游戏“克鲁德一家” 百会呼吁微软提供合法经营Office 365的相关证明 谁说Vim不是IDE?(四) RDS升级:单DB实例最高可获得3TB存储和3万IOPS 移动周报:“先验证,后开发”的App开发必杀技 Supercell首席执行官谈公司运营理念 SwiftKey:Galaxy S4输入法背后的开发团队 急:如何在生成的exe中添加新的属性页,显示更多文件信息? V-DVD ROM!? MSDN上的例子需要uafxcwd.lib,怎么找不到呢? 请问窗口的other事件是如何触发执行的 JSP如何学习 vc在什么时候会引起小喇叭的叫声 请教高手,如果在VB里实现内存共享? 用什么方法可以转换图片类型?譬如将BMP格式的转换为JPEG格式的,请各位大哥给点提示!!! 关于vb script数组和函数功能的二个问题!高难度! 关天打印问题? 只能最小化到屏幕的左下角 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm (有关XMLHTTP) 在php中要取出一段字符串的前n个字节,而又要判断最后一个是中文还是英文,如果是中文则将最后半个字符省略应该怎么做? 有在BCB5中用过sapi5朗读中文的朋友,高分送上! 最初级的问题,关于编译程序的。 重庆市信息产业办公室荣获全国最差信息产业办公室称号 大家用PB创建Jaguar应用程序时,一般创建一个大包还是多个包阿? 奇怪的问题,来者有分!没回答问题的先到先得! 如何把临时表建在内存中 请教一个关于DELPHI多线程的问题 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm(有关XMLHTTP) 比爱情少一点,比友情多一点,即不讨厌又不来电,你能做到吗? 请教一个问题,一个分两帧的窗口,分别是两个CView的子类。一个view里的下拉框选中一条记录,使另一个view刷新。不知道用什么mfc函数。 有关新开窗口的问题! please intrduce a good muti-root soft for win95,win98,winme,win2000,winxp 求助:哪位大侠能介绍一下网络传输设备(象 HDSL、Cable Modem)的品牌、厂家和性能? 我的ie浏览器怎么了? 搞软件开发时应不应该是一边看书一边搞开发? 请教:C中的共同体是什么?谁能解释一下或举例说明 关于线程套间问题。 请教各位在oracle中如何在date字段下条件? Window me对ADO是不是支持的不够好??? 请问csdn.net使用shtml如何构架的! 安装Acrobat后,只出现一个PDF Writer虚拟打印机,Adobe Distiller却死活装不上,不知是何原因? sybase anywhere5.0 支持 mid 函数吗,如果支持该怎么写 微软的一道面试题!!!!! help me!(53)问题解决以后再送100分 为什么我的win2000server上装不上Exchange5.5? 虚拟DVD-ROM????!!!!!!!!!!!!!!!!!!!!!!!!!!!!???? 建ORACLE网络服务名的问题!!! 数组作为地址传递到dll,在dll内进行修改,dll释放后,数组也跟着释放,怎么办呢??先谢了! 有关程序的规范写法 谁有minix操作系统的代码 PalmOS中的手写接口? 一个比较搞人的钩子问题! 获取客户端的浏览器的信息!? TMDIChildForm 是系统的一个类吗? 如何在创建新线程时传递多个参数? 数据库之间数据转换的问题。 microcp过来领分 dw长时间在编辑转态,并长时间无人操作,结果会死机???!!!! 去掉3.900末尾的零后,计数单位由原来的( )变成了( ) 为什么滑动摩擦力会小于最大静摩擦力,这与很多因数有关系比如,摩擦力产生的小碎屑的作用.假如接触面绝对的的光滑(即不产生碎屑),又使得2个面之间的分子靠得太近,会产生吸引力,摩擦 在图中电灯的重力为20牛,绳AO与天花板间的夹角为45度,绳BO水平,求绳AO,BO所受的拉力. 把小数点后面的零去掉,小数的计数单位就发生改变吗? 为什么说一般情况来说,物体间的滑动摩擦力小于最大静摩擦力?为什么不是大于?小于如何动啊?比方说一个物体的最大静摩擦力是5N,我用4。99N的力推它受到的还是4。99的摩擦力啊,它如 2车3弓什么意思 如何测量静摩擦力和滑动及滚动摩擦力?计算公式那么在什么情况下,作用在物体上的力等于静摩擦力? 如图所示,电灯的重力为G=10N,AO绳与顶板间的夹角为θ=45°,BO绳水平,则 (1)AO绳所如图所示,电灯的重力为G=10N,AO绳与顶板间的夹角为θ=45°,BO绳水平,则(1)AO绳所受的拉力F1和BO绳所受的拉力F2 为什么最大静摩擦力总大于滑动摩擦力 为什么滚动摩擦力就是静摩擦力 如图所示,物体的重力G=5N,AO绳与顶板之间的夹角为45度,BO绳水平,求AO与BO绳所受的拉力大小 动车2车3A是什么意思 滚动摩擦力小还是静摩擦力小 如图所示电灯的重力g=10牛已知Ao绳与水平顶板夹角为30ºbo绳水平则绳ao及bo各受到的拉力各多少 2车联网是什么!将来会怎么样? 静摩擦力和滚动摩擦力的例子要例子 说清楚一点 为什么一个物体的最大静摩擦力大于滑动摩擦力? 长方形代表什么寓意 小数点左边第二位是( )计数单位是( );小数点右边第二位是( )它的计数单位是( ) 拔河比赛中,双方的拉力是一对作用力与反作用力吗?比如甲对和乙对,那么甲对的拉力与乙对的拉力是一对作用力与反作用力吗 什么是首层结构平面图 标准层结构图平面图 总结构图平面图 国庆节,工人师傅在马路两边挂灯笼,每两棵树之间挂1盏灯笼.如果马路两边各有18棵树,一共要挂多少盏灯笼?如果每两个树之间的距离是30米,这条马路长多少米?如果在马路两边每个50米放一个 为什么拔河时两边的力是作用力与反作用力RT,请说清楚一些,好的+30分 这张结构平面图的数字是表示什么啊 1.为了迎接“十一”国庆节,某市装备用灯笼美化道路,需要A,B俩种不同类型的灯笼共200个,且B型灯笼的个数是A型灯笼的3分之2.(1)求A,B俩种灯笼个需要多少个?(2)如果A种灯笼每个40元,B种灯 我不清楚怎么去判断相互作用力 我知道定义 特征 但不知道怎么判断 晕死 最搞不清楚的是拔河时的拉力为什么是相互作用力?不要说什么胜负取决于摩擦力 这些都是书面语 我要知道的是怎 结构平面图 我想问下 汽车在公路上匀速行驶时 收的牵引力和摩擦力是平衡力时汽车受到的牵引力 是作用在汽车上还是地面上 还有摩擦力呢力作用在什么地方 要怎么判断呢 元宵节有哪些花样灯笼 拔河时两边的力怎么会互为反作用力拔河时为什么两边是反作用力 两边的人自己是可以控制力的大小的,两边的人并不是静止 绳子当然不会是静止的 最后绳向一方运动(不是匀速) 我知道 初二物理关于如果没有摩擦力的作文急 啊 !800里告急!~ 静摩擦力的方向和滑动摩擦力的方向如何判断?需要详细一点的,有例子讲解! 为什么最大静摩擦力比滑动摩擦力要大? 《如果世界没有摩擦力》论文我要高中的,500字左右,三篇可以了一定要三篇 中国节日,分别是几月几日 如图所示,电灯的重量G=10N,AO绳与顶板间夹角为45°,BO绳水平,从力的作用效果来看若将重力G分解为两个力,应当怎样分解?两个分力的大小F1=?F2=? 假如世界上没有摩擦力100字物理论文 每个节日的几月几号(英语)中国的节日!New Year's DayChildren's DayChristmas DaySpring FestivalNew yearWomen′s DayNational DayTeachers′DayInternational worker′s day我是说节日在几号用英语!!!!!!!!!! 下面各数中的"0"去掉后,大小有什么变化?0.8( ),16.2( ),520( ),0.012( ),6.800( ) 怎么写关于摩擦力的物理小论文只要方法,尽快一小时 小数0.708的计数单位是:A.千分位 B.1/1000,是A还是B? 想一想,下面各数中的0去掉后,大小有什么变化?0.8( )16.20( )520( )0.012( )6.800( ) 一篇物理论文《假如生活没有摩擦力》800字论文 春节,元宵节为什么要挂灯笼,挂什么样的灯笼,有何寓意等寻灯,问灯,画灯 下面的数去掉0后大小有什么变化?0.08_____8.0_____1000_____13.800_____. 4.7的计数单位是( ),它有( )个这样的计数单位. 为什么元宵节要挂灯笼20到80字 0.08、8.0、1000、13.800去掉0 后大小有什么变化? 7.58有几个这样的计数单位啊 元宵节的灯笼怎么做 一般情况可以看作最大静摩擦力等于滑动摩擦力吗? 用事例来区分静摩擦力滑动摩擦力和滚动摩擦力用事例来区分静摩擦力 滑动摩擦力 和滚动摩擦力.请以初中物理角度来区分. 静摩擦力和滑动摩擦力 最大静摩擦力在什么时候等于滑动摩擦力呢滑动摩擦力不是变化的吗?他怎么会一直等于最大静摩擦力呢就是。那个。比如说压力为80n的滑动摩擦力。和压力为90n的滑动摩擦力。都等于最大静 如何判断静摩擦力还是滑动摩擦力还是滚动摩擦力,请举例说明 如何制作元宵节灯笼 用卡纸来做的可以吗 什么情况下滑动摩擦力等于最大静摩擦力 去掉0.40末尾的零,它的计数单位如何变化? 跪求! 元宵节的挂灯笼要的是介绍不要太多,15 35个字。 如图所示悬线AO与天花板夹角为60度,线BO与墙壁垂直,灯的重力为G,求灯对线AO和线BO线拉力?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn