Geekband C++面向对象高级程序设计-第四周作业

2018-01-29 18:44:09来源:cnblogs.com作者:SKY-体面人点击

分享

#题目说明:

   分别给出下面的类型Fruit和Apple的类型大小(即对象size),并通过画出二者对象模型的方式来解释该size的构成原因。

class Fruit {    int no;    double weight;    char key;public:    void print() { }    virtual void process() { }};  class Apple: public Fruit {    int size;    char type;public:    void save() { }    virtual void process() { }};

#资料整理:  

Apple和Fruit对象内存分配:

*注意点.编译器最终分配内存大小需要考虑"位对齐",规则如下:

    1.首先按照声明次序依次保存类中数据对象。

  2.若类中存在虚函数在对象起始处会存在虚指针。

  3.变量的起始偏移位置设定为自身字节大小的整数倍,以便读取变量时使得cache速度更快。

  4.内存分配结束后,需要将当前内存空间补充为最大的基本类型变量的倍数。


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台