首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
02-24 16:20
杭州电子科技大学 大数据开发工程师
职场里到底有没有真友谊?
最近和几个朋友聊起“同事变闺蜜/兄弟”的经历,大家感慨挺多的。其实关于**“要不要和同事成为好朋友”**,不需要什么AI的大道理,剥开职场那层皮,逻辑其实很真实。它是概率问题,不是选择问题很多时候,我们总觉得“我要不要和他交心”是个主动选择。但实际上,职场友谊往往是环境产物。你们恰好在同一个项目组熬过几个通宵,恰好都讨厌那个阴阳怪气的甲方,或者恰好下班路过同一家好喝的奶茶店。这种“战友情”是天然发生的。如果频率合拍,硬要冷脸把自己缩在“专业面具”后面,不仅累,还会错过那种在枯燥工位上难得的温情。
有必要和同事成为好朋友吗...
点赞
评论
收藏
分享
02-25 15:30
魔门塔(苏州)科技有限公司_感知算法工程师(准入职员工)
9377游戏内推,9377游戏内推码
erlang后端开发面试首先笔试,现场做:第一部分选择题(5题左右):大部分与排序、查找、时间复杂度、稳定性这几个知识点有关。有一题是通过二叉树的中序和后序反推原二叉树。总体难度:低第二部分简答题:1.TCP与UDP有什么不同? 2.写冒泡排序3.写出题目代码的递归结果4.考察引用与const修饰的值必须初始化总体难度:低偏中接着好像是1个技术主管面+1个HR面+1个HR面技术面:会涉及一点分布式(有了解过分布式吗)、对公司有了解吗两个HR面不为难人,很友善总体来说面试过程很好9377游戏2026届春招启动!【公司简介】9377集团成立于2011年,是集研发、发行和平台运营于一体的全球化综合型...
点赞
评论
收藏
分享
01-12 13:39
西安电子科技大学 golang
怎么找实习
朋友说他那的实习生连环境都不会装,还不如我。可我怎么感觉找个实习特别难🥲
实习简历求拷打
点赞
评论
收藏
分享
02-03 13:20
已编辑
吉林大学 Java
Java后端 末流985混子简历求拷打
前几天出门玩去了回来后听从建议,删除了一些把握不住的内容,优化了简历语言表达,加了点量化数据,顺手把放上去项目的readme补充了一点仅仅找个实习来说,我感觉这个简历方向应该没什么问题了,希望前辈们不吝赐教还有一些想了解的细节问题:1.暑期实习和日常实习?如果不all in转正,只是为了秋招准备简历上有个实习,那两者有什么区别2.算法真的是突击hot100就够了嘛,我目前一道算法题没做过,才正准备开始做能不能直接爽爽背
李橙子:
只找个实习的话,这简历没啥问题的
实习,不懂就问
点赞
评论
收藏
分享
02-26 12:11
联想(北京)有限公司_后端开发部_JAVA开发工程师(准入职员工)
安克创新内推,安克创新内推
工作真实感受【Work in Anker】 🌟入职流程:非常顺畅,会有HR专门为你办理入职手续,然后会有你的mentor,leader,hrbp或者其他同事引导你去领取工作资产(Windows和Mac系统都有)并且带你去工位。我的mentor第一天就请我喝了咖啡吃了饭~开心🥳 🎁入职礼物:入职礼物有anker的马克杯,帆布袋,校招生还有安克的充电宝(图4)!安克的充电宝原来真的这么小一只,怪不得叫口红充电宝,而且CMF做的深得我心,颜色都好好看哇! 💻办公系统:像字节,蔚来,小米等公司一样,anker同样使用飞书办公系统,用过飞书的都知道哈,飞书非常高效,用户友好,有了飞书办公效率杠杠...
字节跳动公司福利 1380人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
秋招以来的AI面经问题
1.6W
2
...
32分钟投了18家网申,效率如何?
1.3W
3
...
2027届暑期实习大科普,为什么从来没人给你讲过这些事情?
5190
4
...
面试官视角聊聊:如何在AI浪潮中找到好工作?
4152
5
...
急哭了!985科班本三段大厂实习被阿里一脚踹飞!简历都没收!
2566
6
...
美团测开->腾讯后端,感谢那个不愿放弃的自我
2500
7
...
C++ MySql 常考面试题总结
2201
8
...
面试被问到“agent的记忆机制怎么设计”,该怎么回答?
2046
9
...
没算力,能搞大模型吗?
2032
10
...
老板原话:AI要完全取代程序员了
1828
创作者周榜
更多
正在热议
更多
#
xx岗简历求拷打
#
22142次浏览
188人参与
#
牛友的志愿填报指南
#
50614次浏览
247人参与
#
有转正机会的小厂实习值得去吗?
#
13163次浏览
127人参与
#
找工作有哪些冷知识
#
227582次浏览
2701人参与
#
你最讨厌面试被问什么
#
14344次浏览
155人参与
#
今年形式下双非本找得到工作吗
#
288802次浏览
1645人参与
#
应届生,你找到工作了吗
#
110349次浏览
665人参与
#
听劝,这个简历怎么改
#
384107次浏览
1834人参与
#
如果再来一次,你还会学硬件吗
#
155473次浏览
1460人参与
#
业务面应该做哪些准备
#
96350次浏览
1058人参与
#
你上一次加班是什么时候?
#
134241次浏览
748人参与
#
招聘要求与实际实习内容不符怎么办
#
171425次浏览
933人参与
#
你找工作的时候用AI吗?
#
178252次浏览
916人参与
#
毕业季,给职场新人一些建议
#
191768次浏览
2504人参与
#
你怎么看待AI面试
#
152919次浏览
816人参与
#
开工第一帖
#
70515次浏览
1166人参与
#
实习心态崩了
#
104884次浏览
525人参与
#
找工作中的意难平
#
995872次浏览
6435人参与
#
跳槽时有那些注意事项
#
124748次浏览
592人参与
#
掌握什么AI技能,会为你的求职大大加分
#
15548次浏览
562人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务