深度探索c++对象模型,c++语言支持单重继承和多重继承

中国论文网 发表于2024-04-13 03:14:38 归属于电子论文 本文已影响259 我要投稿 手机版

       今天中国论文网小编为大家分享毕业论文、职称论文、论文查重、论文范文、硕博论文库、论文写作格式等内容.                    

摘 要:本文主要探索了在虚拟继承和简单多重继承情形下,类内的成员数据,成员函数,基类等在派生类中的结构。

关键词:虚拟继承;多重继承;层次结构;内存布局   对于编写C++的程序员,一定多少使用过它语法中最基本也是最大的特点:继承与派生。那么一个类的产生会带来多大的空间开销,派生类和基类在数据、函数的内存结构上又有什么特点?   让我们从最简单的开始,一步一步展开我们的继承探索之旅。   一、空基类空成员虚拟继承   我们看如下代码:         class A{};   class B:public virtual A{};   class C:public virtual A{};   class D:public B,public C{};            图1-1 各个类层次结构      可以明显的看到,上述各个类都是空类,所有语句只表达了继承关系而不具备任何数据处理功能,没有成员数据,没有成员函数。那么对他们使用Sizeof 的结果应该都是0。   但是结果是这样的吗?   结果如下:             为什么会出现这样的结果呢?   其实空基类隐藏一个带有编号性质的1字节Char用与区分该类生成的不同实体:    A a1,a2;    if(&a1= =&a2) cout<<""the same address.""<  中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。

返回电子论文列表
展开剩余(