首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
05-19 15:49
门头沟学院 算法工程师
春招菜鸡offer帮选
👋个人背景:2本9硕,想搞算法,然后想挣点钱。👏offer1:平安银行 算法岗 深圳 n*12+约2.7n年终💯offer2:东方财富 服务端开发(AI应用方向) 上海 (n+2)*16 🌱offer3:深信服 AI工程师(算法/infra) 深圳 (n+6)*12 + 【0到6个月年终】
点赞
评论
收藏
分享
05-20 09:18
北京邮电大学 嵌入式工程师
大疆嵌入式算法一面面经 | base上海 | 八股深挖
刚结束大疆嵌入式算法岗的一面,趁着记忆还热乎赶紧来发个面经。base上海,整体时长一个多小时,面试官非常老道,八股问得超细,项目挖得很深,问题层层递进,稍微卡一下就继续往里追问,体验上属于压力面那一类。整体感受这次面试的覆盖面是真的广,从单片机裸机、RTOS源码、ARM架构,一路问到Linux内核VFS、进程调度、驱动模型,中间还穿插了C/C++基础八股、图像算法、Camera HAL框架,最后再来一道手撕。如果只复习了某一个方向(比如纯嵌入式或者纯Linux),应该会比较吃力。我自己感觉答得磕磕绊绊,有些细节问到底实在编不下去就老实说不会了,面试官倒也没为难,听完就接下一题。面试题目记录(按...
点赞
评论
收藏
分享
05-21 17:50
广东轻工职业技术学院 Java
27Java,至今0offer,1面试
这是为什么捏,SSOB上面沟通了几百次了,投简历也差不多投了二十几份,但是目前只收到了一个面试,是简历的问题吗?还是说我是重庆人,外地的公司不要我?
我的求职进度条
点赞
评论
收藏
分享
04-29 10:07
电子科技大学 Java
招银网络oc
已经签了其他,释放hc了
牛客48784610...:
深圳的变成录用进行中,这个是稳了吗,还没有收到邮件
点赞
评论
收藏
分享
05-19 17:02
门头沟学院 销售工程师
误打误撞进卖起了大模型——文科HR转AI销售工程师真实记录堂堂公开!
说实话,我自己也没想到会走到这一步如果你翻我两年前的帖子,也会觉得我的简历很杂做过:HR、写过稿、运营过新媒体,策划过各种活动,面试官看我简历大概会想:这人到底想干啥?我自己也不太知道,反正就是什么都投,广撒网,先上岸再说。(我也真的准备过四个方向的简历)25年10月底我签了一家某行业的头部公司做大客户销售,拿到offer后公司推出了第一款大模型产品,也是全行业内第一个涉足大模型的公司。我当时的心情很微妙,有点懵,但也兴奋;因为我其实很早就在自己瞎摸索GPT,Claude,AI相关的东西了,只是没想到这玩意儿这么快就落到我工位上了。运气?是的。但我自己也没完全闲着,就这样,50%的努力加上50...
如何成为1个AI工程师?
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
四非本的春招总结
3567
2
...
我个人的筹备面试经验 25.12-26.4
3243
3
...
从 0-1 的 Agent 八股- RAG 篇
2229
4
...
无脑拥抱Agent开发
2058
5
...
Ai Agent、ai应用开发面经面试题
1573
6
...
哈哈,被裁了
1293
7
...
字节大模型VS一汽国企,选谁?
1229
8
...
字节日常二面
1112
9
...
暑期结束了
976
10
...
拼多多泡池子泡麻了
901
创作者周榜
更多
正在热议
更多
#
26届春招投递记录
#
52725次浏览
430人参与
#
薪资一样,你会选择去大厂还是小公司
#
35222次浏览
130人参与
#
27届实习投递记录
#
148411次浏览
1560人参与
#
哪个瞬间让你对大厂祛魅了?
#
645879次浏览
4019人参与
#
实习的内耗时刻
#
242472次浏览
1667人参与
#
求职中的尴尬瞬间
#
42162次浏览
125人参与
#
记录实习开销
#
226773次浏览
1766人参与
#
你找工作的时候用AI吗?
#
214835次浏览
1032人参与
#
听劝,这个简历怎么改
#
423066次浏览
1901人参与
#
春招 / 实习投递,你最焦虑的一件事
#
164934次浏览
1814人参与
#
暑假倒计时,你都干了些啥?
#
62280次浏览
318人参与
#
机械人还在等华为开奖吗?
#
344550次浏览
1658人参与
#
2022届毕业生现状
#
1175533次浏览
7802人参与
#
新凯来求职进展汇总
#
82772次浏览
194人参与
#
职场中那些令人叹为观止的八卦
#
112507次浏览
497人参与
#
华子oc时间线
#
1516565次浏览
7126人参与
#
牛友投递互助,不漏校招机会
#
495333次浏览
5368人参与
#
百度求职进展汇总
#
745864次浏览
6495人参与
#
大厂无回复,继续等待还是奔赴小厂
#
376479次浏览
2119人参与
#
正在实习的你,有转正机会吗?
#
528171次浏览
3105人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务