首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
MatthewMatt
2017-06-21 23:06
家里蹲大学 C++
关注
已关注
取消关注
请教下一个小问题,C++派生类都会包含基类对象成员吗?
详细补充下:无论派生类是已何种方式继承基类,包括public protected private,基类对象成员也可以是public protected private,我想问无论派生类以哪种方式继承基类,是不是在内存中派生类都会含有基类对象成员,哪怕派生类无法访问?
今天突然想到的一个小问题,求大神告知。
提示
全部评论
推荐
最新
楼层
Joran_02
浙江万里学院 C++
在C++编译器的内部 类可以理解为结构体 子类是由父类成员叠加子类新成员得到的 C++多态实现原理:
点赞
回复
分享
发布于 2017-06-22 07:49
Joran_02
浙江万里学院 C++
然后书上举了两个 指针转换的例子。你动手写一写
点赞
回复
分享
发布于 2017-06-24 19:54
Joran_02
浙江万里学院 C++
我去翻了下,根据上下文理解。就是这个意思
点赞
回复
分享
发布于 2017-06-24 19:52
Joran_02
浙江万里学院 C++
写的太概念性了吧,愿意应该是,基类的对象可以独立存在,独立存在的话,那就不是派生类对象的一部分了---这就是那个可能不是。
点赞
回复
分享
发布于 2017-06-24 19:46
MatthewMatt
楼主
家里蹲大学 C++
感谢各位大佬的回复。我在C++ primer 5th p534里有看到这么一句话“一个基类的对象可能是派生类对象的一部分,也可能不是”,请问下这句话是什么意思呢?我没有搞太懂,是不是和前面所表述的意思不一样?
点赞
回复
分享
发布于 2017-06-22 09:49
Joran_02
浙江万里学院 C++
test.h #ifndef _TEST_H_ #define _TEST_H_ typedef void Demo; typedef void Derived; Demo* Demo_Create(int i, int j); int Demo_GetI(Demo* pThis); int Demo_GetJ(Demo* pThis); int Demo_Add(Demo* pThis, int value); void Demo_Free(Demo* pThis); Derived* Derived_Create(int i, int j, int k); int Derived_GetK(Derived* pThis); int Derived_Add(Derived* pThis, int value); #endif test.c #include "test.h" #include "malloc.h" static int Demo_Virtual_Add(Demo* pThis, int value); static int Derived_Virtual_Add(Demo* pThis, int value); struct VTable // 2. 定义虚函数表数据结构 { int (*pAdd)(void*, int); // 3. 虚函数表里面存储什么??? }; struct ClassDemo { struct VTable* vptr; // 1. 定义虚函数表指针 ==》 虚函数表指针类型??? int mi; int mj; }; struct ClassDerived { struct ClassDemo d; int mk; }; static struct VTable g_Demo_vtbl = { Demo_Virtual_Add }; static struct VTable g_Derived_vtbl = { Derived_Virtual_Add }; Demo* Demo_Create(int i, int j) { struct ClassDemo* ret = (struct ClassDemo*)malloc(sizeof(struct ClassDemo)); if( ret != NULL ) { ret->vptr = &g_Demo_vtbl; // 4. 关联对象和虚函数表 ret->mi = i; ret->mj = j; } return ret; } int Demo_GetI(Demo* pThis) { struct ClassDemo* obj = (struct ClassDemo*)pThis; return obj->mi; } int Demo_GetJ(Demo* pThis) { struct ClassDemo* obj = (struct ClassDemo*)pThis; return obj->mj; } // 6. 定义虚函数表中指针所指向的具体函数 static int Demo_Virtual_Add(Demo* pThis, int value) { struct ClassDemo* obj = (struct ClassDemo*)pThis; return obj->mi + obj->mj + value; } // 5. 分析具体的虚函数!!!! int Demo_Add(Demo* pThis, int value) { struct ClassDemo* obj = (struct ClassDemo*)pThis; return obj->vptr->pAdd(pThis, value); } void Demo_Free(Demo* pThis) { free(pThis); } Derived* Derived_Create(int i, int j, int k) { struct ClassDerived* ret = (struct ClassDerived*)malloc(sizeof(struct ClassDerived)); if( ret != NULL ) { ret->d.vptr = &g_Derived_vtbl; ret->d.mi = i; ret->d.mj = j; ret->mk = k; } return ret; } int Derived_GetK(Derived* pThis) { struct ClassDerived* obj = (struct ClassDerived*)pThis; return obj->mk; } static int Derived_Virtual_Add(Demo* pThis, int value) { struct ClassDerived* obj = (struct ClassDerived*)pThis; return obj->mk + value; } int Derived_Add(Derived* pThis, int value) { struct ClassDerived* obj = (struct ClassDerived*)pThis; return obj->d.vptr->pAdd(pThis, value); } Main.c #include "stdio.h" #include "test.h" void run(Demo* p, int v) { int r = Demo_Add(p, v); printf("r = %d\n", r); } int main() { Demo* pb = Demo_Create(1, 2); Derived* pd = Derived_Create(1, 22, 333); printf("pb->add(3) = %d\n", Demo_Add(pb, 3)); printf("pd->add(3) = %d\n", Derived_Add(pd, 3)); run(pb, 3); run(pd, 3); Demo_Free(pb); Demo_Free(pd); return 0; }
点赞
回复
分享
发布于 2017-06-22 07:42
Joran_02
浙江万里学院 C++
会包含。我给你一个C实现c++多态和继承的例子
点赞
回复
分享
发布于 2017-06-22 07:37
JEWELCCLi
腾讯_测试开发
存在,最直接的例子就是多态机制中的虚函数表,可以百度下陈皓大神的那个blog,那个经典啊,有图有理,直观明了
点赞
回复
分享
发布于 2017-06-22 07:10
艾德
福建工程学院 C++
应该吧,举个例子。父类指针指向子类对象,父类指针可以访问private继承的子类对象中属于父类部分的成员,所以内存应该存在
点赞
回复
分享
发布于 2017-06-22 00:26
harry502
重庆邮电大学 C++
是的...
点赞
回复
分享
发布于 2017-06-21 23:35
暂无评论,快来抢首评~
相关推荐
01-17 10:00
门头沟学院 嵌入式软件工程师
嵌入式春招:为什么要“多投简历”以及如何做好准备?
春招季一到,嵌入式工程师的求职市场就变得格外热闹。很多同学会发现一个问题:投了很久,面试却很少;面试很多,却很难拿到offer。其实,这背后并不是你的能力不行,而是因为你没有把“机会”这个因素做足。01 为什么嵌入式春招要多投简历?机会=数量×匹配度很多人只投少数几家公司,抱着“我只想去这几家”的心态。可现实是:嵌入式岗位的岗位需求和招聘节奏非常分散,有些公司可能一周发布一次,有些公司可能一个月才发布一次。你投得少,就意味着你错过了大量的机会。另外,嵌入式岗位的面试具有一定的随机性:招聘需求突然变更面试官临时缺席公司预算调整你投的岗位突然被内部人选替代这些都可能导致你原本看起来很匹配的岗位,最...
点赞
评论
收藏
分享
01-21 15:46
快手_快STAR广告引擎(准入职员工)
光峰科技内推,光峰科技内推码
结构工程师面试经验: 1. 自我介绍 2. 项目介绍 3. 使用的三维软件、仿真软件是什么? 4. 建的模型里几个零部件之间的约束方式 5. 对身边常见的一些产品的内部构件有什么了解? 6. 它们通过什么方式组装/连接? 7. 如果给你个鼠标让你设计,首先要了解什么参数和内容? 8. 对结构工程师岗位的认知 9. 未来的职业规划 10. 工作地点的选择 11. 家庭情况 12. 反问环节光峰科技2026届校园招聘进行中~【招聘岗位】光学 / 硬件 / 算法岗 / 产品研发类 / 技术研发类 / 产品类【我们提供】极具竞争力的薪酬回报机制+产品技术重大创新奖金、专利奖、国际三大工业设计奖等专项激...
点赞
评论
收藏
分享
2025-12-27 13:01
三峡大学 C++
大四找不到实习怎么办。。。
给了面的也不到十家,但基本都八股不咋会+口头表达能力很差,有点社恐,面一个挂一个。很急着找实习,不知道从何下手。。。
Eryi_是不是名字...:
年后找不到转战考研也是个不错的选择,有牌子初试过了上游985任你挑。
点赞
评论
收藏
分享
01-15 20:52
天津城建大学 Java
找不到实习呀
黑皮白袜臭脚体育生:
五宿大战是吧,死去的记忆还在攻击我
点赞
评论
收藏
分享
01-16 14:38
门头沟学院 大数据开发工程师
数据域 vs 主题域:数仓建模面试必问,但90%的人都没讲清楚
前言别笑,这真的是高频翻车题。在数仓面试考察建模理论这一块时,数据域和主题域的区别几乎成了必问问题。但奇怪的是,即便是在企业里干了三五年的同学,一聊到这两个概念,也常常含糊其辞。先看定义数据域:是从业务过程出发,对数据进行的分类管理,解决「数据如何管」的问题。主题域:是从分析视角出发,对数据进行的逻辑划分,解决「数据如何用」的问题。大家看完定义之后,可能还是无法对应到真实数仓建设中来,我们直接上企业真实案例!假设用户完成一次完整购物:登录 -> 浏览商品 -> 加购物车 -> 下单 -> 支付 -> 卖家发货 -> 买家收货 -> 评价/退款在整个购物...
数据人的面试交流地
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
备战春招,网申一键填写工具,发布了!!!
3.6W
2
...
27双非非科班4段实习从字节tt到腾讯wxg
5860
3
...
我爸对计算机行业的看法,是否准确?
5172
4
...
专科工作一年后的心里话
4413
5
...
第一次被同事气笑了
3971
6
...
字节校招landing实感
3739
7
...
坚持的爱好是规律饮食
3722
8
...
多益可以去吗
2875
9
...
在抖音上认识的姐姐太疯狂了
2571
10
...
AI coding时代,前端已死?
2535
创作者周榜
更多
正在热议
更多
#
哪些公司开春招了?
#
5724次浏览
95人参与
#
实习教会我的事
#
50588次浏览
392人参与
#
上班以后,你还有哪些坚持的爱好?
#
5007次浏览
144人参与
#
为了实习逃课值吗?
#
61613次浏览
517人参与
#
你都在哪些场所面过试?
#
13679次浏览
187人参与
#
拼多多工作体验
#
43970次浏览
283人参与
#
工作压力大怎么缓解
#
135379次浏览
1200人参与
#
AI coding的好用工具分享
#
12111次浏览
280人参与
#
实习怎么做才有更好的产出
#
8246次浏览
176人参与
#
找工作以来,你最看不惯__
#
7662次浏览
198人参与
#
实习生工资多少才算正常?
#
9089次浏览
172人参与
#
你最近因为什么迷茫?
#
25584次浏览
399人参与
#
实习离职怎么跟领导说
#
75255次浏览
418人参与
#
你给AI提过哪些离谱的需求?
#
4259次浏览
142人参与
#
工作一周年分享
#
49533次浏览
254人参与
#
牛客AI文生图
#
19165次浏览
225人参与
#
领导做过最不靠谱的事
#
8430次浏览
168人参与
#
xxx岗位的一天
#
41574次浏览
275人参与
#
实习学不到东西怎么办?
#
270823次浏览
2491人参与
#
机械/制造每日一题
#
84446次浏览
1440人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务