首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
11-12 11:22
湖北大学 Java
限流你了解多少?API限流最佳实践与深度解析
在微服务架构的浪潮中,Spring Cloud 已然成为 Java 开发者构建分布式系统的标准工具集。随着服务拆分,系统变得日益复杂,一个看似不起眼的接口可能因为突发流量而成为系统崩溃的“风暴之眼”。服务限流,作为保障微服务高可用的核心手段,其重要性不言而喻。今天,我们就来深入探讨在 Spring Cloud 体系中,实现 API 限流的最佳实践,助你为系统构筑一道坚固的“防洪堤坝”。#牛客AI配图神器#一、 为什么要限流?不仅仅是防止崩溃很多开发者对限流的理解停留在“防止服务被压垮”。这固然正确,但限流的价值远不止于此:保障服务高可用性:防止因突发流量(如热点事件、爬虫、恶意攻击)导致资源耗...
职保镖-扶你上马
点赞
评论
收藏
分享
11-13 14:17
广州希音国际进出口有限公司_供应链管理(准入职员工)
shein内推,shein内推码
**业务一面--30mim自我介绍在安克创新的产品运营主要做了什么?未来的职业规划方向?产品经理和产品运营的区别?两者重叠的核心部分是什么?为什么想做产品运营?为什么实习都不超过半年?这次实习的预期时长与到岗时间?需求收集与过滤占比较高,能接受吗?(其余为面试官讲解岗位内容)二面-25min自我介绍未来希望做产品运营还是产品经理?对该产品的哪条业务线感兴趣?B端产品和C端产品的区别?为什么想做B端产品?(过往为电商运营经验)一周出勤时间?英语听说读写水平?英语自我介绍英语问答:能否接受跨国会议的时差?全球超级独角兽SHEIN26届校招网申开启【关于Shein】全球领先的跨境电商,服务于150+...
点赞
评论
收藏
分享
09-28 10:59
已编辑
百度_高级研发工程师
为什么谈薪这么难啊
第一家谈薪只给了7000块,还一副施舍的态度,现在就业行情这么差了吗。破防了家人们。当时校园招聘会人山人海,但是没有几家大企业,毕竟双非院校嘛,华为腾讯字节阿里,都不可能去的,都是本地的小企业,还有一些北京的小企业,也很趾高气扬,施舍一样。更看不惯的,还有阿谀奉承之流,你说要是有什么好机会,你去舔舔就算了,见人就舔,见人就舔,给人舔的舒服了,以为我们学校都是这种货色。话说回来,人家高考多考的几十分总不能白费,以后要靠努力去弥补差距了。来自于2020年的我。
verge&0904:
小企业摆出阿里脸,给着白菜价
校招谈薪技巧
点赞
评论
收藏
分享
11-14 11:18
哈尔滨工业大学 算法工程师
被问得很细。。
主要围绕 Java 核心知识点和项目经历整体难度不算高,但每个问题都会被面试官深挖细节有部分细碎的知识点当场想不起来主要问到的技术问题包括:Java 多线程编程的相关解释,以及是否在实际场景中应用过、要求结合具体例子说明;Java 内存管理的核心机制;垃圾回收机制的工作原理;private、public、protected 这三种访问修饰符的作用范围区别;MySQL 最左匹配原则失效的情况,同样需要举例佐证;死锁的产生条件是什么,还要现场举例一个具体的死锁情景。除了基础技术点还对过往项目进行了深度挖掘针对项目中的技术选型、遇到的问题及解决方案等细节展开了追问。
查看7道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
java零基础斩获4大厂offer
1.2W
2
...
《办公室恋情,被我抓住了》
2693
3
...
【Offer帮选】专家大佬在线接单!发帖即享免费1V1抉择指导
2552
4
...
进大厂是因为老家找不到工作
2411
5
...
我父母让我忍受所有工作上的欺辱
2160
6
...
快手员工自费给+2庆生?太带派了烙铁
2071
7
...
月薪多少才能过上"体面生活"
1607
8
...
秋招收尾 0offer如何备战大厂春招
1205
9
...
27届学院本两段实习后的职业规划再思考
1149
10
...
在京东实习一周花了0元
1066
创作者周榜
更多
正在热议
更多
#
职场中那些令人叹为观止的八卦
#
7146次浏览
94人参与
#
秋招吐槽大会
#
35002次浏览
320人参与
#
腾讯音乐秋招
#
420735次浏览
4730人参与
#
我的职场社死时刻
#
6770次浏览
83人参与
#
你找工作想离家近 or 离家远?
#
5870次浏览
91人参与
#
月薪多少能在一线城市生存
#
90451次浏览
616人参与
#
百度秋招
#
43600次浏览
358人参与
#
那些年,我收到的‘奇葩’回复
#
3776次浏览
41人参与
#
你秋招最后悔的选择
#
6051次浏览
57人参与
#
哪些公司开始补录了
#
5950次浏览
86人参与
#
秋招你经历过哪些无语的事
#
4281次浏览
54人参与
#
XX请雇我工作
#
5342次浏览
65人参与
#
中科曙光工作体验
#
4862次浏览
23人参与
#
如何拒绝/反向PUA
#
82014次浏览
367人参与
#
你父母给过你哪些不靠谱的职场建议?
#
6467次浏览
89人参与
#
职场中对你有帮助的书
#
22958次浏览
213人参与
#
假如你的老板掉河里,你的工作能为他做什么
#
39371次浏览
401人参与
#
虾皮开奖
#
50198次浏览
243人参与
#
京东工作体验
#
21576次浏览
121人参与
#
你觉得机械有必要实习吗
#
66338次浏览
481人参与
#
你最满意的offer薪资是哪家公司?
#
51784次浏览
261人参与
#
交通银行工作体验
#
20581次浏览
69人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务