09 2013 档案
摘要:上篇讲述了内存中的封装模型,下篇我们讲述一下继承和多态。二、继承与多态情况下的内存布局由于继承下的内存布局以及构造过程很多书籍都讲得比较详细,所以这里不细讲。重点讲多态。继承有以下这几种情况:1.单一继承2.多重继承3.重复继承4.虚拟继承1.单一继承的场合假设有以下继承关系,那么大致的内存布局如下代码class Parent{public: int p;};class Child:public Parent{public: int c;};class GrandChild:public Child{public: int gc;};对象布局:成员变量的布局很...
阅读全文
摘要:继我的上一篇文章:浅谈学习C++时用到的【封装继承多态】三个概念此篇我们从C++对象内存布局和构造过程来具体分析C++中的封装、继承、多态。一、封装模型的内存布局常见类对象的成员可能包含以下元素:内建类型、指针、引用、组合对象、虚函数。另一个角度的分类:数据成员:静态、非静态成员函数:静态、非静态、虚函数1.仅包含内建类型的场合:class T{ int data1; char data2; double data3;};类中的内建类型按照声明的顺序在内存中连续存储,并且分配的大小由内建类型本身的大小决定(依赖机器),布局受字节对齐影响(本篇不讨论字节对齐)。...
阅读全文

浙公网安备 33010602011771号