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

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

编辑:说三道四文库 发布时间:2017-09-22 03: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 的状态是由被最后调用的构造函数确定的!
数字医疗投资将破纪录 投资人看好这些细分领域 Mayer又下一城:雅虎收购Tumblr推进移动化? 前端开发利器:代码预处理工具Prepros 一个轻量级的JavaScript库:Reactor.js [探讨] 用户体验设计师现在面临怎样的机遇和挑战? PPT集萃(二):淘宝、CloudStack等分享的架构经验与最佳实践 2013中国云计算榜单之二:64家云主机+云存储,错综复杂! 看Java技术基础的eBay如何评价他们的Node.js首次尝鲜 Jolla发布首款Sailfish系统手机 无缝兼容Android应用 NPD:全球智能手机出货量2013年将首次超过功能手机 聚合数据左磊:不走寻常路 做国内最好的数据聚合平台 从程序员到软件商 需要注意些什么? 共享软件海外营销策略与实战(上海站) 直接拿来用!最火的Android开源项目(完结篇) 一步加入云生态系统 参加第五届中国云计算大会的十大理由 传苹果iOS7将深度整合Flickr 用户受益最大 Chrome 27来了:页面加载快5% 可同步数据到Google Drive 微软发布新一代游戏主机Xbox One 搭配全新Kinect 2.0体感系统 Unity游戏引擎向iOS与Android开发者免费 Twitter获“下拉刷新”专利 开发者仍可自由使用 复杂产品的响应式设计【流程篇】 使用Javassist库为Bytecode Instrumentation开发JVM Agent 内容解析创业公司Stremor推出4款API 2013中国云计算榜单之三:174家云应用服务商,繁花似锦! 盘点各大云服务提供商:麦当劳=AWS,汉堡王=? BlackBerry Jam亚洲开发者大会9月将在香港开幕 把服务器搬进来:Splashtop在中国搭建Bridging Cloud Web框架全对比第五期 新增Windows环境 前Tumblr首席开发者回忆录:一个人也能开发出好产品 测试者和开发者,为何我们不能友好地相处? 讲师秀之11:何刚谈京东的云机遇 5、五一散分帖,大家说一个比较好玩的地方:P Huffman 编码的译码方法??? 求助学习SQL server 的网站 寻找access数据库书籍电子版 有关redo log的archive,哪位能帮我解释以下Oracle Alert messages显示的信息? 谁来救我!!!谁有TreeView关于VB.Net的代码 有分送!!apache和tomcat怎么样整合,我想要简单一点的方法。 哪位仁兄告诉我Numega TrueTime的下载地址,给100分 std::string 和c-string 的问题 新手问题,十万火急!! 新手问个苯问题关于记录集(40)在线求 如何将EXCEL数据导入到SYBASE数据库中? 做asp程序员能拿多少钱?~` 有助与提高自己的想法,,征集!!! to 阿德 讨论:如何向一个函数传递两个参数(表名和字段名),就可以得到该字段的具体值。 我如何使在网页上显示硬回车? MySql数据库之国际化问题 javascript问题! 会者不难! CppWebBrowser中打开网页出现对话框(注意不是广告等新网页窗口),怎么自动取消或确定? 能帮忙看一下这个10行的小程序吗? (菜鸟问题)看看这是用什么技术实现的? 关于ORACLE_SID,ORAENV_ASK 如何将凹多边形裁减成为多个凸多边形 如何将凹多边形裁减成为多个凸多边形 我是一位刚学使用EVC的人,那位高手能帮我解决如下入门问题,谢谢! 如何将sql server中查询到的数据导入成一个excel文件,用vb实现 开机时cpqdmi.exe无法找到DLL 那你人气太弱了,100分都没有人理一下呀..在这里求助一下...~~~~~~~~~~~~~~~~ 在Paradox表中, 如何使数据立即保存到磁盘上?? 求助于大家! 菜鸟送分! 帮我看看吧!我的问题很简单的。 我的毕业设计遇到些问题 很着急啊,我在面试,这个搞定了就通过了,在线等待! 帮帮我 怎样获取listview视图中一条记录的字段值? 超难问题,寻思路:实现在WORD中能有象VC类成员提示的那样的列表框功能?我试过的方法遇到的困难(见内容). Word应用! 程序发布遇到的问题 js里面有去除字符串两端空格的函数吗? 请教大家,大家帮忙!! 请问用JS如何获取客户端IP? 急救:关于网站想实现网上支付功能应该办理什么样的手续? 如何将checkbox对应的内容提交到下一页面? 请问哪里可以down到最新的IIS服务器? 听说window 2003正式简体中文版已经出了,真的假的阿? 表单提交,求JS源码。 请问各位,在VC中制作Windows2000的服务程序,从AppWizard中应该选哪些项? 请大家推荐vb经典书籍. 求教,csdn论坛左边的数树型框怎样用asp代码实现。急,我在线等。 植物组织培养中植物玻璃化与褐化的原因 实例解析:如何抑制开关电源的EMI 抛物线y^2=2Px(P>0)上一点P(1,4)到焦点的距离为5,则P= 邓小平抓政治上拨乱反正的一项重要工作是? 我想买台天文望远镜,是中焦距的好还是长焦距的好?主要用来观测近地星球... 抛物线y²=12x中,一条焦距的长为16,求此焦点弦所在的直线的倾斜角? 植物组织培养用什么植物好培养 不容易褐化和玻璃化实验课要做 之前做薄荷已经褐化了两次了 所以想换个植物做 求推荐 初学者想买天文望远镜,请大家推荐短焦(最好600以下)便携的性价比高的入门级镜.现在初选了几款:天狼D-60TZ星特朗CTS70星特朗P50AZ 精液PH值6.5不正常.医院说7.2到8为正常 为什么没有数码变焦的望远镜呢?望远镜带有锂电池,数码变倍,就像摄像机一样把老远的东西拉的老近,只是没有摄像机的摄影功能,有三角架(因为机身比较大吧),采用双目结构,更加舒适,倍 天文望远镜的消色差镜头和普通镜头有多大区别麻烦详细指出区别不要留地址 请转载至问题上边 碳元素在食物网中以什么形式进行流动? 我想买个望远镜,大概能看到100-200米范围的,价格不要太贵.有木有推荐的 《龟虽寿》中,老骥伏枥,志在千里.烈士暮年,壮心不已.作者想要表达的意思 抛物线的准线和焦点怎么求啊?已知抛物线,准线和焦点咋求?就是抛物线的焦点和准线怎么推,或者怎么由准线和焦点来推抛物线,就像椭圆标准方程那样用算术、代数的方法推出来那样。 望远镜是定焦的好还是变焦的好? 龟虽寿中的老骥伏枥,志在千里.烈士暮年,壮心不已.表达了怎样的情怀? 什么是抛物线的准线和焦点? 有没有一种望远镜可像照相机镜头变焦一样啊,就是不论远近都能看清 如何判断溶解度高低? 生物碳氧循环图是食物网吗可以看做是一样的吗?如果不是该怎么看 《晚报》2009年12月21日,天气降温,医院这几天每日大约有260人前来诊断比平时增加了百分之30平时大约有多少人就诊? 溶解度计算怎么判断有没有到饱和 急求 什么是抛物线的焦点,怎么求焦点和准线,能否举例说明 《2012真是世界末日吗?》请看清楚,我要的是阅读答案,不是问是不是世界末日 CaCl2能使有色布条褪色么 555555~各位大虾帮偶看看这几道科学题吧1.10的负10次方米=( )纳米=( )微米2.有两只准确完好相同的体温表使用前示数均为37.8摄氏度,现用一只体温表测甲同学的体温,用另一只体温表测乙同学的 2012到底是不是世界末日?我要真是的答案!要真的!我不想死啊!呜呜. 次氯酸钠溶液能使有色布条褪色吗?为什么 如何确定抛物线的准线和焦点 低温阀门要求无泄漏开关自如选什么阀好 2012世界末日 现在在哪里能看 哪些物质能使有色布条褪色大神们帮帮忙 可口可乐馆现在还送的可乐吗?是入口送的吗?如果是绿色通道进去也有拿可乐吗? 将足量的铁粉投入到溶质为 Fe2(SO4)3,CuCl2,稀 H2SO4 的混合溶液中,经充分反应后,将固体剩余物滤出并干燥,称得其质量比原加入的铁粉质量减轻16g,此时滤液中Fe2+的物质的量浓度比原来混合溶液 蛇的身体构造是如何的?各器官在体内的位置如何? 已知电场中A,B两点的电势φA>φB,负电荷放在A,B哪一点时具有较大的电势能? 用于今年冬季天气突然降温,市第一人民医院这几天每日约有260人前来就诊,比平时人数增加了30%,根据根据这条新闻,你能算出平时每天大约多少人就诊吗? 蛇的性器官在哪里? 什么是红光治疗? 污泥膨胀是在曝气池前端设置添料起什么作用怎么防止污泥膨胀? 为什么要强调在稀溶液下? 10*50望远镜是多少被光学变焦的 贵阳市小客车专段号牌摇号时是不是要登录才能摇号啊? 家人的意义是什么?3Q 我想和女友上床,可她不肯,所以我想给她有尼尔雌醇片,不知药效如何我和女友谈了一年了,可是只要一提要和她上床的事,她就躲,说什么也不行,实在没办法,所以我想到用药,不知尼尔雌醇片可 贵阳市小客车专段号牌怎么延期 已知XmolH2O中含有y个H2O分子,则阿弗加德罗常数为 A Y/X B 2Y/X C (X/Y)MOL-1 D (Y/X)MOL-1 尼尔雌醇片加可乐有什么作用 贵阳市小客车专断号牌管理系统.您好,我在贵阳市摇到了小客车专断号牌,我是用我哥哥的身份证摇到了号,那我现在去买车可以用我的身份证买吗,如果车的户主是我,可以不可以用这个号来上 100欧 负温度热敏电阻 多少度电阻为0 尼尔雌醇片有什么作用多少钱12粒 家人能帮忙参加贵阳市小客车摇号吗? 毕业论文中需要用matlab求解矩阵的最大特征值及对应的正规化特征向量并做一致性检验.矩阵为A=(1,1/2,2,1/3,3,1/4;2,1,3,1/2,4,1/3;1/2,1/3,1,1/4,2,1/5;3,2,4,1,5,1/2;1/3,1/4,1/2,1/5,1,1/6;4,3,5,2,6,1) 麻烦哪位大神 药理 药效 副作用 尼尔雌醇片有医学常识的 人进 我想问一下关于尼尔雌醇片的毒副作用 ,他的说明书,写的不详细,主要不是医生,有些名词不懂!再谢一次! 世界末日 到来的方式有哪几种 热力学定律问题1.理想气体进行定温膨胀时可从单一热源吸入热量,将之全部转变为功对外输出,是否与热二定律的开尔文叙述有矛盾?2.冬天,一个耗电200w的电视机稳定运行对房间的加热效应与2 设计一个简单的化学试验,证明空气含有水分谢谢了, 长焦的折射天文望远镜色差相对短焦小一些吗?这样是不是更有利于天文摄影? 如图 ,f为抛物线y^2=2px的焦点,a(4,2)为抛物线内一定点,p为抛物线上一动点且pa+pf最小值为8,如果过f的直线交抛物线于m,n2点,且mn>=32,求直线L的倾斜角的取值范围 综述:中国西藏文化周藏学家交流活动受中国房地产商在澳投资“风生水起”浙商二代展开青春对话 宗馥莉称不努力调查指:中国20年“农转非”比例仅增第九届两岸经贸文化论坛在广西南宁闭幕浙江力推“国民共进” 促“国字号”“长三角“绿色制药”协同创新中心:让百教师因婆婆不拆迁调岗至拆迁部 称曾被跨国公司巨头和学者会聚上海探讨城市“马尼拉市长最快下月底赴香港道歉 或赔上海自贸区满月在即 创新运行框架基本韩正:上海自贸区将适时引入第三方评估安倍再次表示推进探讨行使集体自卫权阿根廷学者认为克里斯蒂娜连任机会渺茫学者称克里斯蒂娜连任机会渺茫 应加强阿根廷学者认为克里斯蒂娜连任机会渺茫中央气象台发霾黄色预警 京津等局地或阿根廷学者认为克里斯蒂娜连任机会渺茫伊拉克北部摩苏尔发生自杀式汽车炸弹袭印度东北部城市发生连环爆炸5人死亡“双年展专业户”卢昊:城市化进程使多朱雨辰 难得秀出新感情 她笑容温暖,后天起雷阵雨雨势加大昔日状元难进 如今二本能上贫寒学子毕业后诈骗资助者千万元昆山爆炸事故伤者度过休克期【超级访问】救人!救人!农产品期货股票齐齐上涨上半年经济社会发展总体平稳“许多地方债务问题快捂不住”婆媳争夺千万遗产仅隔1个月 购1万欧元省近2000元这些“好声音”背后有“大来头”张涵予:我享受这种“折磨”省领导要求努力开创 粤“三农”工作新“农地”入市盖安居房收益四六分要定位查一周天气可看“我的晴雨钟”土地使用权出让最多50年书香世家的“父与子”传奇沈欣:学棋不宜太功利广东启动青年创新创业大赛
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘