C++对象的内存布局---单继承

来源:互联网 发布:sql in用法? 编辑:程序博客网 时间:2024/05/21 13:21
 继承是C++中非常重要的概念,它分为单继承和多继承.任何一个实际的C++应用程序中,
都避免不了使用继承.通过继承,可以清晰的表示对象之间的关系,在开发时可以方便的进行重用.
  • 单继承

在simpleClass的基础上派生一个子类derivedClass并增加一个成员数据.

class derivedClass:public simpleClass
{
     public:
  int nSubValue;
    derivedClass(){};
    ~derivedClass(){};
     virtual void foo(void){};
};

1.  在构造一个派生类的实例时首先构造一个基类的实例,而此基类实例在派生类实例销毁后被销毁.

2   在构造基类实例时和构造simpleClass的内存布局是一样的.derivedClass实例大小为16字节.因为nSubValue多占用了4字节.并可以得出派生类和基类使用同一个虚函数表.

 

 

原创粉丝点击