首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
07-06 15:39
嘉士伯_供应链管培生(准入职员工)
得物内推
给点经验 印象中的进度:6.14夜里投递 6.15中午电话沟通约面6.16面试(一个小时收到口头offer电话)6.20正式发offer 6.21入职 得物面经(其实没什么面经)因为得物岗位很多: 1.自我介绍的时候在在jd上贴合匹配度 2.表示出自信和想去的态度(因为毕竟现在实习生鸽公司的现象也很多,你在用你摇摆的态度去面试,其实mentor也会用这种态度对你) 3.对自己的简历要熟悉(因为确实会深挖一下) 投递Tips: 1.今年暑假真的很卷。可以适当降低自己的预期 2.投递一定要看哪家公司最近在招人!看最近,而不是看到什么岗位投什么。这样查看率会比较高(我感觉基本在***我的简历被查看的...
点赞
评论
收藏
分享
07-07 16:56
已编辑
辽东学院 嵌入式硬件工程师
救命救命
来个大佬救一下,为上投了都是石沉大海了,没实习经历的话怕秋招直接进不了面。什么实习这么难找,基本
心态爆炸了:
现在正式的岗位都少,实习基本不咋招的,除了大厂,中小企业其实没那么多岗位需求,就算是有,大多都是招一两个廉价劳动力,同时,他们也会希望你一来就能干活的,没时间培训你,就让你了解公司的项目,你了解完就可以开始干活。再者是,很多低质量的实习其实用处没有那么大的。我去年也是找实习找到破防,最后去了一家深圳的小公司实习,工作对我来说很简单,甚至不如我在学校做的项目,秋招的时候,这段实习经历也并没有帮上什么忙,投递简历,依旧非常低的回复率。低回复率是常态,尤其是找实习,找不到,那就把重心放在优化自己的简历和项目,多看八股文,锻炼自己的面试能力,多看别人的面经,自己模拟面试,等秋招的时候,只要有那么寥寥几次,好好抓住那几次机会。
点赞
评论
收藏
分享
05-14 11:04
北京邮电大学 Java
现在才开始找暑期来得及吗
😭准备得太晚了,学校期末考完都5月7号了,之前就只准备了一些,现在hot100都没刷完,也忘了很多了,算法比较薄弱,八股还好一点,背的七七八八了。但是感觉现在找日常没hc,找暑期也没hc了,估计投暑期也只能等被大佬鸽掉的,然后被横向一下。而且现在算法还没怎么刷,对笔试特别恐惧,我看笔试的算法题都好难,感觉参加了就是a0结束
叶扰云倾:
进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉
不知道是不是不想要我了,求阿里收留
,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。
这种条件还不诱人吗难道
然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞
评论
收藏
分享
07-07 12:30
中南大学 Java
史上最细SQL实战系列:基础知识篇(补充)
这是我的史上最细SQL实战系列的第一篇文章:基础知识篇的补充篇。本系列文章核心不在于总结Mysql相关的八股(Mysql超全八股可见此文:Mysql超全八股笔记贴),本系列旨在:1.快速掌握sql知识,会写面试时常见的sql题目;2.了解在实际工作中需要注意的超多数据库和表设计相关的知识和坑点。本系列文章分为3个部分:1基础知识篇;2sql笔试篇;3公司级数据库与表设计相关知识与坑点总结。另外:想要学习Java冲实习或冲春招的,我能助你一臂之力,我之前整理了高质量可速成的魔改外卖项目话术和7000字轮子项目话术,还有超全超精品八股大全专栏,怎么写简历,怎么包装实习经历,怎么0基础速成冲春招和实...
八股大全、算法、项目话术...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
四段实习终大厂 如此牺牲为哪般
1.6W
2
...
通过实习工资给父母换手机
1.2W
3
...
我从来没想过我会出轨
7014
4
...
暂且原谅这个世界一下下
5482
5
...
三次入职字节,我终于成为了一名正式的bytedancer
5184
6
...
上班一周了 感觉这辈子完了
4630
7
...
淘天lastday知无不言
4137
8
...
开个帖子,记录一下二本仔秋招
3552
9
...
儿时记忆在梦中闪回,一觉醒来继续做“大人”
3382
10
...
刚来深圳第一天就被宰1650
3296
创作者周榜
更多
正在热议
更多
#
实习生的蛐蛐区
#
54714次浏览
410人参与
#
运营面经
#
115634次浏览
1249人参与
#
你认为小厂实习有用吗?
#
20773次浏览
248人参与
#
说说你知道的学历厂
#
39342次浏览
238人参与
#
应届生,你找到工作了吗
#
21298次浏览
152人参与
#
计算机有哪些岗位值得去?
#
17042次浏览
160人参与
#
哪一瞬间觉得自己长大了
#
10018次浏览
226人参与
#
面试尴尬现场
#
32477次浏览
217人参与
#
你找工作的时候用AI吗?
#
18829次浏览
232人参与
#
下班后的时间你怎么安排
#
10310次浏览
140人参与
#
烟草笔面经互助
#
17841次浏览
184人参与
#
社会教会你的第一课
#
36626次浏览
462人参与
#
电网笔面经互助
#
36902次浏览
357人参与
#
秋招最大的收获是什么?
#
36111次浏览
309人参与
#
lastday知无不言
#
58311次浏览
475人参与
#
三一重工求职进展汇总
#
13375次浏览
61人参与
#
材料人,你们签了哪个公司
#
7484次浏览
18人参与
#
你的领导最像哪种动物,为什么?
#
14354次浏览
107人参与
#
学历贬值真的很严重吗?
#
22426次浏览
163人参与
#
你上一次加班是什么时候?
#
87641次浏览
572人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务