
面相对象
ordeder
关注Linux&TCPIP&Nginx&Redis
展开
-
面向对象--多继承&派生类对象内存布局分析&各基类指针所指向的位置分析
如果C同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢? 1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。 2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断) 3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。原创 2014-05-10 14:21:34 · 4430 阅读 · 1 评论 -
C++面向对象—成员函数与成员变量的实现机制学习笔记(1)
《深度搜索C++对象模型》的一些学习纪要: 一成员变量篇 0. 类的编译中,先编译成员变量和成员函数的额声明,成员函数的定义在类声明结束后再处理; 1. 类中,多个代码区块public或者private最终会被按区块统一,然后编译过程中,后定义的成员变量地址高于定义的成员变量; 2. 静态变量在程序启动时初始化,存储的位置在于程序的全局数据段中; 3. 继承中原创 2014-05-20 21:03:02 · 2156 阅读 · 0 评论