社区
C++ 语言
帖子详情
构造函数执行在前,还是虚表指针覆盖在前?
ngbbxt
2013-01-23 09:36:13
一个类有虚函数。那么,
类的对象在生成的时候,是先执行构造函数,还是先给虚表指针赋值?
...全文
191
3
打赏
收藏
构造函数执行在前,还是虚表指针覆盖在前?
一个类有虚函数。那么, 类的对象在生成的时候,是先执行构造函数,还是先给虚表指针赋值?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xumaojun
2013-01-23
打赏
举报
回复
问题研究的太深了,学习一下
ngbbxt
2013-01-23
打赏
举报
回复
准确来说,应该是给虚表指针赋值吧,而不是给虚表赋值吧? 虚表是编译生成后,就存在了吧?
引用 1 楼 akirya 的回复:
先把当前类的虚表赋值
珍惜生命远离CPP
2013-01-23
打赏
举报
回复
先把当前类的虚表赋值
最全的C和C++语言笔试面试题汇总
-
构造函数
不能声明为虚函数。 #### 十一、队列和栈的区别 - **队列**:遵循先进先出(FIFO)原则。 - **栈**:遵循后进先出(LIFO)原则。 #### 十二、不能作为`switch()`的参数类型 - `switch`语句的参数不能...
为什么
构造函数
不能声明为虚函数?
2.虚函数需要通过虚函数
指针
指向一个虚函数表,当将
构造函数
声明为虚函数,在创建对象时,首先要调用
构造函数
,然后
构造函数
是虚函数,就需要用虚函数
指针
去调用,但是,对象都还没构造,也就没有虚函数
虚函数,虚
指针
,
虚表
,虚析构函数和多态
而且,只要它是最后的
构造函数
调用,那么在这个对象的生命期内,VPTR将保持被初始化为指向这个VTABLE, 但如果接着还有一个更晚派生的
构造函数
被调用,这个
构造函数
又将设置VPTR指向它的 VTABLE,等.直到最后的构造...
一篇文章理清C++对象创建、构造、析构和虚函数
指针
的关系
系统为对象的非静态成员变量与vptr(虚函数
指针
)分配内存,并且在内存空间中,会先安放vptr(虚函数
指针
),但是此时的虚函数
指针
并未赋值当调用
构造函数
,在
构造函数
执行
过程中,会将vptr指向正确的虚函数表,从而绑定...
虚函数表
构造函数
面试的时候被问到,
构造函数
中能不能为虚函数,
构造函数
中能不能调用虚函数的问题,被问蒙了,查了点资料记录下, 为什么
构造函数
不能使虚函数: 一、
构造函数
不能为虚函数的理由: 1,从存储空间角度 ...
C++ 语言
65,192
社区成员
250,525
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章