c++类得内存分配问题,面试的时候把我问倒了。

有一个父类A,子类B,请你画出他们在内存里面的分配,或者对象Aa;Bb;求详解。感激不尽啊!... 有一个父类A,子类B,请你画出他们在内存里面的分配,或者对象A a;B b;求详解。
感激不尽啊!
展开
 我来答
百度网友39d9835
2011-06-29 · TA获得超过615个赞
知道小有建树答主
回答量:573
采纳率:0%
帮助的人:745万
展开全部
在c++对象模型,非静态数据成员是影响占据内存大小的主要因素,所有实例共享一份静态数据,静态/非静态成员函数都不会影响实例内存的大小(是由实现固定的),若包含虚函数会占4字节无论有多少虚函。
所以,类实例的内存布局中只包含“成员数据”,并且只有用“虚函数”时(vptr)才会对内存布局有一丁点影响。
派生类在实例化时首先构造一个父类实例,在派生类销毁之后销毁。

子类b
{
父类a 部分
{
vptr
{
虚函数 // 此时虚表中的虚函数指向的是子类中的实现
子类虚函数的实现
<父类的函数并不包含在子类实例中>
}
父类数据成员
}
子类数据成员
}
whitebajie
2011-06-29
知道答主
回答量:3
采纳率:0%
帮助的人:4614
展开全部
C++中先创建父类,在创建子类。其中父类空间在子类的开始位置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kissofblueice
2011-06-29 · TA获得超过471个赞
知道小有建树答主
回答量:814
采纳率:100%
帮助的人:583万
展开全部
就是楼上说的这样。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
byzxybd
2011-06-29 · TA获得超过455个赞
知道小有建树答主
回答量:731
采纳率:100%
帮助的人:425万
展开全部
每个类成员一个空间,就没啥好画的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式