首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
04-22 18:08
门头沟学院 Java
⭐3k Stars!这个完整开源的RAG项目,适合所有AI求职者复现
还在简历上写“了解RAG原理”吗?今天推荐一个能让你真正做出一个完整RAG产品的硬核项目——rag-web-ui。https://github.com/rag-web-ui/rag-web-ui它不是一个教程,而是一个功能完整的智能问答系统,拥有漂亮的前端界面、完整的后端服务和数据库。把它复现一遍,你的简历和面试能力能提升一个档次。📌 这个项目是什么?rag-web-ui 是一个基于RAG(检索增强生成)技术的智能对话系统。简单说,你可以上传自己的文档(PDF、Word等),然后它会像一个懂这些内容的专家一样,回答你的问题,并告诉你答案来自文档的哪里。项目地址:https://github....
哪些AI项目值得做?
点赞
评论
收藏
分享
04-20 17:35
已编辑
门头沟学院 研发工程师
4.20-字节data-一面
🕐面试时间:60min💻面试岗位:后端开发❓面试问题:自我介绍一分钟(话说一分钟的自我介绍能说些啥呢)concurrentHashMap的底层原理,以及他为什么能保证并发安全为什么要用到cas和synchorized的方式反射调用和直接调用在性能上有什么不同,当然反射的性能会差一点,为什么(没回答上来,面试官问有没有听过 jit,依然没有)spring中哪里体现了反射的思想数据一致性问题,为什么先更新数据库后删缓存比另一种策略好,以及解释一下延迟双删拷打agent项目介绍一下你是怎么开发mcp工具的,你是怎么理解的介绍一下tool,mcp,skill你在开发过程中有自己写过skill吗(没...
查看11道真题和解析
点赞
评论
收藏
分享
03-25 11:15
中山大学 Java
简历求拷打
0实习,boss沟通了快一千个,就一个面试,求问问题出在简历还是招呼语呀?招呼语是:Boss您好,我对您发布的职位非常感兴趣,可以把简历发给您吗?
烂Java害人一生:
你这肯定招呼语有问题啊 快改了
点赞
评论
收藏
分享
03-03 19:02
门头沟学院 Java
为何实习这么难找……
boss打招呼了快500,简历投了40多份,结果到现在就只有一个外包和一个几十人小厂约面,大部分都是已读不回,或者要了简历就没下文了。不知道是我的简历写的有问题还是打招呼的方式不对,又或者学历的问题,真不知道该咋办了 …………
如何让HR爱上我:
我以为就我,看到大家都这样我就放心了
投了多少份简历才上岸
点赞
评论
收藏
分享
04-21 11:13
哈尔滨工业大学附属中学 算法工程师
追觅面试
技术面的人敲打细节很无聊啊 之前做的一个项目被说 经常因果分析 说你的一个小项目和大模型 然后就搬出什么qq的logo是企鹅是产品有研究的。我说拜托这种东西不都是别人成功后才被推敲的吗,没成功谁会知道qq是企鹅还是什么。然后面试的就自信的说自己能说出qq和国外所有通讯软件的优劣势和区别借此来打压我的项目论证其产品和市面上大模型的无差别处。我说一个小项目肯定是会和市面上很多功能有相同的,真这么扣的话为什么你比我大这么多早二十年做出qq的不是你而是你在这里抓着我的项目显示你产品功力的优越感
查看3道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
中国银行软件中心合肥编程测评
1.5W
2
...
和室友聊完我才知道自己输在信息差...
1.5W
3
...
面到崩溃后,我接受保底offer去旅游了
1.1W
4
...
字节抖音前端暑期二面
6018
5
...
[拼多多offer]暑期实习终于结束了,太累了兄弟们,现在的大环境太难了
4610
6
...
腾讯云智二面(已挂)
4193
7
...
招银网络科技春招
4157
8
...
同学去了腾讯、蔚来,而我去了一个小厂,后来我也...
4029
9
...
约不到面的日子
3551
10
...
还是没找到工作
3352
创作者周榜
更多
正在热议
更多
#
哪些AI项目值得做?
#
16715次浏览
447人参与
#
找不到大厂实习可以去小厂吗?
#
13558次浏览
115人参与
#
华泰星战营,提前锁定校招offer
#
11762次浏览
354人参与
#
简历上如何体现你的“AI”能力?
#
7925次浏览
188人参与
#
你总挂在第__面?
#
5797次浏览
61人参与
#
实习时最怕听到的一句话
#
14987次浏览
137人参与
#
没有面试的日子里,你在做什么
#
8880次浏览
231人参与
#
90后北漂现状
#
38767次浏览
225人参与
#
你简历上最心虚的一句话
#
15139次浏览
157人参与
#
正在春招的你,也参与了去年秋招吗?
#
396602次浏览
2716人参与
#
你知道最慷慨和最抠的公司分别是
#
7434次浏览
61人参与
#
吉利求职进展汇总
#
109878次浏览
415人参与
#
拼多多工作体验
#
57628次浏览
412人参与
#
机械人还在等华为开奖吗?
#
333992次浏览
1628人参与
#
机械笔面试考察这些知识点
#
18608次浏览
146人参与
#
找工作的破防时刻
#
291768次浏览
2074人参与
#
如果有时光机,你最想去到哪个年纪?
#
77116次浏览
858人参与
#
机械人,说说你的烦心事
#
143992次浏览
1150人参与
#
嵌入式岗知多少
#
73247次浏览
586人参与
#
26届的你们有几段实习?
#
178840次浏览
1112人参与
#
网易雷火工作体验
#
6102次浏览
25人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务