关注
第一个问题找了一下答案: 为什么构造函数不能是虚函数? 从vptr角度解释 虚函数的调用是通过虚函数表来查找的,而虚函数表由类的实例化对象的vptr指针指向,该指针存放在对象的内部空间中,需要调用构造函数完成初始化。如果构造函数是虚函数,那么调用构造函数就需要去找vptr,但此时vptr还没有初始化! 从多态角度解释 1.虚函数主要是实现多态,在运行时才可以明确调用对象,根据传入的对象类型来调用函数; 2.构造函数是在创建对象时自己主动调用的,不可能通过父类的指针或者引用去调用,那使用虚函数也没有实际意义; 3.调用构造函数时还不能确定对象的真实类型(由于子类会调父类的构造函数); 4.构造函数的作用是提供初始化,在对象生命期仅仅运行一次,不是对象的动态行为,没有必要成为虚函数。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
2025-12-29 23:01
江西财经大学 外贸业务员 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 今年春招是金一银二嘛? #
26837次浏览 248人参与
# 机械制造2024笔面经 #
1514942次浏览 12994人参与
# 牛客吐槽大会 #
9948次浏览 179人参与
# 软开人,秋招你打算投哪些公司呢 #
176124次浏览 1308人参与
# 没关系,至少我的__很曼妙 #
11322次浏览 171人参与
# 帆软软件工作体验 #
10036次浏览 43人参与
# AI求职实录 #
16477次浏览 388人参与
# 快手年终开大包 #
3813次浏览 50人参与
# 抛开难度不谈,你最想去哪家公司? #
14839次浏览 216人参与
# 赚钱的意义在这一刻具象化 #
11229次浏览 211人参与
# 为什么有人零实习也能进大厂? #
13892次浏览 237人参与
# 你的第一家实习公司是什么档次? #
12426次浏览 132人参与
# 总结:哪家公司面试体验感最好 #
79635次浏览 445人参与
# 1月小结:你过的开心吗? #
4893次浏览 84人参与
# AI时代的工作 VS 传统时代的工作,有哪些不同? #
15997次浏览 365人参与
# Prompt分享 #
17470次浏览 406人参与
# 当你问AI“你会取代我的工作吗”,它说_? #
8688次浏览 231人参与
# 实习生活中那些难忘的瞬间 #
293186次浏览 3222人参与
# 实习最想跑路的瞬间 #
113012次浏览 694人参与
# 你的landing期是如何度过的? #
15065次浏览 329人参与
