首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
01-05 20:13
蚌埠坦克学院 嵌入式软件开发
嵌入式手撕题目分享
有一次嵌入式面试,面试官没有问太多八股文,直接给了一道现场手撕题。背景是设备需要统计状态寄存器中异常位的数量,本质就是统计一个 32 位寄存器里有多少个 bit 为 1。题目不难,但面试官强调两点:这是跑在单片机上的代码,效率要高,不能浪费算力。如果只会一位一位右移去数,很容易被追问有没有更优解。这道题考的不是能不能写出来,而是你平时有没有真正写过底层代码,是否对位运算和性能敏感。写完代码后,面试官还会继续追问在中断里用、在低功耗场景下用,有没有需要注意的地方。这种题目,很贴近真实嵌入式开发,也最容易拉开水平差距。
查看3道真题和解析
点赞
评论
收藏
分享
01-04 19:57
湖南工业大学 iOS开发
元旦期间的一些小厂面试
牛客上貌似有关客户端的面试经验比较少,那我来分享一些。我走的是iOS开发方向,元旦左右面试了两家小厂,由此分享一些经历。厂A:主要问了比较多Swift基础知识,包括但不限于值类型、引用类型、闭包、访问控制以及Swift5.5以后新增的async/await。随后是关于项目的,比如MVC与MVVM架构的区别,MVVM是怎么做到代码解耦的,工厂模式与单例模式等,还有一些项目的细节。关于iOS系统的倒是比较少,就简单问了一下有关runloop和循环引用的内容。厂B:这家厂的规模较大,问的内容也相对比较深入,由于他们家的产品主要是UIKit+RxSwift开发的,因此对MVVM考察的比较多,比如RxS...
查看9道真题和解析
点赞
评论
收藏
分享
2025-12-24 17:16
湖南软件职业学院 前端工程师
线上面了我快2个小时,最后居然不要我
我选体验最差:腾讯外包线上面试,应该是腾讯甲方来面试我,我自诉在字节短期外包项目,表达字节前端技术基建不错,很多都工具自动处理,他表达很大的兴趣,问了很多细节。我做了才3个月,哪里知道很深的细节,回答也是打哈哈。然后在问我,原型链,class,防抖,节流手搓代码。正正面试2个小时,我感觉回答还不错,这次,只要不考虑我的年龄应该是稳了。我的优势是便宜,经验丰富,主要是物美价廉。今天回复我不通过,不通过就被面试那么久,开始就拒绝我啊。体感最差,给我希望,立马浇灭。
文化小流氓:
你适合腾讯正编,外包不敢要
查看4道真题和解析
点赞
评论
收藏
分享
2025-11-20 14:19
门头沟学院 Java
伪装27收到offer了,去公司会被揭穿吗
如题,本人大二在读,然后投简历没人理,伪装成大三的投简历后面试过了收到offer,是一家小厂,下星期到岗,到岗签合同的时候会查学生证学信网之类的吗😰
牛客大王八:
一般不会,谁闲的没事查你
晒一晒我的offer
点赞
评论
收藏
分享
01-05 10:27
已编辑
牛客创作者运营
2025年牛客年度作者丨颁奖典礼✨
又一年即将过去,而文字比时间更长久。这一年里,那些真诚的分享、独特的洞察、温暖的陪伴,都已悄然汇成这个社区最珍贵的底色。我们深知:每一个“有用”的背后,是持续输出的热忱;每一份“共鸣”的背后,是未曾谋面却心意相通的照亮。经过一整年的沉淀与生长,我们从万千创作者中,选出了18位格外闪亮的名字。这份荣誉,属于他们,也属于每一个认真分享、真诚共鸣的你。👏👏👏2025年度最具影响力作者这一年,你们在牛客写答案的速度,比面试官翻简历还快;发的攻略密度,比大厂OKR还卷;开的脑洞宽度,比技术栈列表还长。你们是社区非常重要的核心力量,也是创作者的榜样。2025年度牛客影响力作者,你们实至名归!2025...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
🔥2026创作新起点:《新年启航计划》来袭,三大赛道等你来冲!
1.9W
2
...
一大波手撕正在靠近!
1.4W
3
...
百度java一面 28届的第一次大厂面试 感觉g了
1.2W
4
...
27前端鼠鼠快手二面
4842
5
...
拥抱人机共生,锻造不可替代的“金头脑”
4813
6
...
双非老鼠的悲惨秋招
3524
7
...
腾讯游戏后端一面
3332
8
...
塞翁失马,焉知非福
3169
9
...
面试手撕题总结
3057
10
...
uu们,面试的时候一定要大大方方的啊!
2794
创作者周榜
更多
正在热议
更多
#
去年的flag与今年的小目标
#
1985次浏览
61人参与
#
应届生应该先就业还是先择业
#
160836次浏览
810人参与
#
26年哪些行业会变好/更差
#
2858次浏览
49人参与
#
哪些公司在招寒假实习?
#
1425次浏览
26人参与
#
你都用AI做什么
#
2077次浏览
57人参与
#
卷__卷不过你们,只能卷__了
#
1249次浏览
27人参与
#
有深度的简历长什么样?
#
5244次浏览
98人参与
#
写论文的崩溃时刻
#
1421次浏览
31人参与
#
入职第一天
#
4227次浏览
48人参与
#
秋招你被哪家公司挂了?
#
998995次浏览
7664人参与
#
这个工作能去吗
#
99557次浏览
614人参与
#
一人分享一道面试手撕题
#
8099次浏览
424人参与
#
你不能接受的企业文化有哪些
#
2629次浏览
56人参与
#
为什么国企只招应届生
#
227669次浏览
1273人参与
#
研究所VS国企,该如何选
#
236819次浏览
1965人参与
#
跳槽时有那些注意事项
#
117521次浏览
585人参与
#
小米求职进展汇总
#
998130次浏览
6501人参与
#
机械应届生薪资要多少才合适?
#
35405次浏览
106人参与
#
机械人的薪资开到多少,才适合去?
#
158308次浏览
553人参与
#
非技术岗薪资爆料
#
471023次浏览
3015人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务