首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
06-26 11:52
门头沟学院 机械工程师
找实习就是运气游戏
在各大软件上总能看到"零经验逆袭大厂"的帖子,这种幸存者偏差让人产生错觉,认为自己也行 没想到开始投递的简历要么石沉大海,要么卡在"初筛阶段",连面试官的面都没见到 找工作真的80%以上是运气决定的,如果你也像我一样找实习不太顺利,不要怀疑自己的能力,可能就是运气不好,需要不停的告诉自己,不要和别人进行比较,每个人的运势都是不一样的,能发帖说自己顺利的其实都是少数派,大多数的人都像我一样在默默挣扎 大家要是感到郁闷不知道和谁倾诉,可以每天和AI聊聊天,亲测是非常有用的!
JamesGosli...:
加油
点赞
评论
收藏
分享
不愿透露姓名的神秘牛友
昨天 14:55
这样的实习,我还有必要坚持下去吗?
先说一下背景:我现在是26届大三,进了一个小公司,一共就一个老板两个员工现在今天试岗第二天(试岗没有工资),昨天一来看到我本人,就说一看我就娇滴滴,抗压能力差…什么都没有干已经被攻击了……昨天下午教我工作,我一问问题他说一遍我做就行了,又把我说了一顿(因为可能她的工作很多,觉得我烦?)然后今天领导来了检查我的工作,说我做的都不对,只知道坐在那不知道问,然后站我旁边说了我快五十分钟,顺便攻击我学校不好(我是二本)所以能力差我不知道现在是应该跑路还是接着在干,朋友都让让我跑吧,但家里又说让我坚持而且就算是后面正式实习也就一天80块钱,甚至我面试问了句是单休还是双休,这老板都要说我问这个是不是单休就...
Twilight_m...:
这人还说佬抗压能力弱,我觉得佬抗压能力太强了,要这情况我可能都干不到第二天
实习,不懂就问
点赞
评论
收藏
分享
05-14 11:04
北京邮电大学 Java
现在才开始找暑期来得及吗
😭准备得太晚了,学校期末考完都5月7号了,之前就只准备了一些,现在hot100都没刷完,也忘了很多了,算法比较薄弱,八股还好一点,背的七七八八了。但是感觉现在找日常没hc,找暑期也没hc了,估计投暑期也只能等被大佬鸽掉的,然后被横向一下。而且现在算法还没怎么刷,对笔试特别恐惧,我看笔试的算法题都好难,感觉参加了就是a0结束
叶扰云倾:
进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉
不知道是不是不想要我了,求阿里收留
,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。
这种条件还不诱人吗难道
然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞
评论
收藏
分享
05-26 16:13
门头沟学院 C++
想问问各位佬,还有必要继续投下去么
牢大肘击Java:
海投就完事了bro,就当刷视频了
点赞
评论
收藏
分享
今天 15:41
门头沟学院 硬件开发
26秋招第2投
小鹏汽车
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
七牛云海笔
4280
2
...
去哪儿旅行又打复活赛了
3097
3
...
怎样才叫幸福
3072
4
...
这样的实习,我还有必要坚持下去吗?
2891
5
...
26届秋招在即,分享我的Offer经验
2272
6
...
依旧认为前端是版本答案
2218
7
...
突然不想去实习了
2147
8
...
深圳挣钱深圳花,一分别想带回家
2147
9
...
制造业提前批合集(个人版,大伙速投哇
2056
10
...
去哪儿测开2025届春招最后的补录_一面
1826
创作者周榜
更多
正在热议
更多
#
你觉得现在还能进互联网吗?
#
1512次浏览
48人参与
#
如何准备秋招
#
4427次浏览
70人参与
#
现代汽车前瞻技术研发急速编程挑战赛
#
18086次浏览
159人参与
#
实习,不懂就问
#
14095次浏览
207人参与
#
如果中了500万,你会离职吗?
#
86169次浏览
675人参与
#
你觉得实习能学到东西吗
#
6591次浏览
152人参与
#
哪个瞬间让你对大厂祛魅了?
#
379345次浏览
2777人参与
#
秋招什么时候开投比较合适?
#
2707次浏览
49人参与
#
每个月的工资都是怎么分配的?
#
6518次浏览
129人参与
#
腾讯工作体验
#
473531次浏览
3489人参与
#
来聊聊你认为的薪资天花板是哪家?
#
30273次浏览
173人参与
#
预测一下26届秋招形势
#
10175次浏览
114人参与
#
打工人的精神状态
#
51607次浏览
933人参与
#
软开人,秋招你打算投哪些公司呢
#
99390次浏览
932人参与
#
职场情商大赛
#
131156次浏览
655人参与
#
非技术2024笔面经
#
384517次浏览
4732人参与
#
高考出分的那一天,我__
#
9138次浏览
141人参与
#
一觉醒来,秋招难度下降一万倍……
#
83488次浏览
642人参与
#
京东美团大战,你怎么看?
#
92411次浏览
569人参与
#
安利/避雷我的专业
#
75389次浏览
522人参与
#
聊聊你的职场新体验
#
160677次浏览
1384人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务