关注
第一个问题找了一下答案: 为什么构造函数不能是虚函数? 从vptr角度解释 虚函数的调用是通过虚函数表来查找的,而虚函数表由类的实例化对象的vptr指针指向,该指针存放在对象的内部空间中,需要调用构造函数完成初始化。如果构造函数是虚函数,那么调用构造函数就需要去找vptr,但此时vptr还没有初始化! 从多态角度解释 1.虚函数主要是实现多态,在运行时才可以明确调用对象,根据传入的对象类型来调用函数; 2.构造函数是在创建对象时自己主动调用的,不可能通过父类的指针或者引用去调用,那使用虚函数也没有实际意义; 3.调用构造函数时还不能确定对象的真实类型(由于子类会调父类的构造函数); 4.构造函数的作用是提供初始化,在对象生命期仅仅运行一次,不是对象的动态行为,没有必要成为虚函数。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些AI项目值得做? #
7846次浏览 252人参与
# 市场营销人求职交流聚集地 #
208022次浏览 1271人参与
# 华泰星战营,提前锁定校招offer #
10254次浏览 337人参与
# 实习时最怕听到的一句话 #
7269次浏览 98人参与
# 机械人还在等华为开奖吗? #
333048次浏览 1618人参与
# 找不到大厂实习可以去小厂吗? #
7727次浏览 59人参与
# 没有面试的日子里,你在做什么 #
5935次浏览 142人参与
# 拼多多工作体验 #
57375次浏览 399人参与
# 简历上如何体现你的“AI”能力? #
4493次浏览 101人参与
# 你总挂在第__面? #
3085次浏览 37人参与
# 你知道最慷慨和最抠的公司分别是 #
5717次浏览 49人参与
# 你简历上最心虚的一句话 #
11429次浏览 74人参与
# 26届的你们有几段实习? #
178620次浏览 1110人参与
# 机械笔面试考察这些知识点 #
18442次浏览 142人参与
# 嵌入式岗知多少 #
73025次浏览 580人参与
# 产品每日一题 #
96604次浏览 711人参与
# 快消秋招求职进展汇总 #
11854次浏览 43人参与
# 实习最晚的一次下班是几点 #
34632次浏览 169人参与
# 我们是不是被“优绩主义”绑架了? #
46555次浏览 543人参与
# 找工作的破防时刻 #
291093次浏览 2070人参与
# 锐捷网络求职进展汇总 #
9374次浏览 29人参与

查看7道真题和解析