堆与拷贝构造函数_第1页
堆与拷贝构造函数_第2页
堆与拷贝构造函数_第3页
堆与拷贝构造函数_第4页
堆与拷贝构造函数_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对象计程仪程序设计(c )、第4章关于堆和复制构造函数、4.1堆,c计程仪程序的存储器构造通常是全局数据区域查询密码区域栈内存区域全局变量、静态数据, 所有类的成员函数和非成员函数查询密码(其中常量存储在全局数据区域中,分为四个区域)都存储在查询密码区域中。分配用于执行函数的局部变量、函数残奥仪表、返回数据、返回地址等都存储在栈内存区域中,并以其馀空间为堆。需要4.2new和delete的理由是,从c的角度出发,不使用malloc ()函数的理由是,分配空间时不能调用构造器。 类对象的创建包括空间分配、结构结构的建构和初始化,这些个由构造器集成。 void fn ()数据* PD; PD=(日

2、期* )大小(日期);/自由(PD )、等级数据公共: tdate (); 构造器卷日期,卷日期,卷日期,卷日期。 void打印(); 隐私3360年、月、日; 需要4.2new和delete的理由是,如果调用构造器,必须在内存分配的malloc ()调用时进行,而malloc ()只是函数调用,没有调用构造器的一盏茶信息。 pD需要从malloc ()获得包含随机数据的类对象空间并在分配内存后进行初始化。 void fn ()数据* PD; PD=(日期* )大小(日期); 分配PD-set date (2011,1,1 )/free (PD )、4.3堆对象,使c的new和delete的反

3、应历程更易于理解。 void fn ()数据* PS; PS=新日期; 分配/堆空间/建构delete PS/解析结构,将空间返回堆并分配局部对象后,该局部对象退出作用域时将自动调用结构函数。 但是,堆对象的范围是堆计程仪项的整个生命周期,因此,除非执行堆计程仪项,否则堆对象的范围不会过期。 堆对象的语法是释放了堆对象语句delete的执行时。 分配了4.3堆对象的构造器残奥仪表需要与new后面的类类型对应的残奥仪表。 classtdatepublic :数据(英特尔、英特尔、英特尔)年=y; month=m; 日期=d; 隐私3360年、月、日; void fn() Tdate * pD;

4、PD=新日期(2011,1,1 )/删除PD;new根据参数匹配原则调用构造器,如果描述为pD=new Tdate,则会发生错误,因为TDate类不提供无参数的构造器。 也可以分配4.3堆对象,并从堆中分配对象数组。 classstudentpublic : student (char * ppname=“非名称”) strncpy (名称、名称、尺寸(name ) ); 名称尺寸(名称)-1=0; 隐私3360卡名称4.0; 语音afn (内部) student * PS=新的student num; /delete pS; 构造器被调用num次,从pS0到pSnum-1的顺序被建构。 从堆

5、中分配对象数组时,仅调用差动奥尔特的构造器,而不调用其他构造器。 复制4.4构造器以创建对象的副本时,可以创建新对象,并将现有对象的数据成员值分配给新对象的相应成员。 这个办法只能在一定条件下实行,但是很麻烦。 更好的方法是让类具有复制此类对象的功能。 这是“复制构造器”(Copy Constructor )的功能。 复印构造器是一种特殊的构造器,具有一般的构造器特征,有使用现有对象初始化新的类似对象的作用。 4.4复印构造器可根据实际问题的需要定义复印构造器,以实现同种对象之间的数据成员的传递。 如果没有自定义类的复制构造器,将自动生成缺省奥尔特的复制构造器。 通过为每个非静态数据成员按顺序复制默认奥尔特的复制构造器,也就是说,如果成员是类对象,则通过调用该复制构造器或默认奥尔特的复制构造器,为每个成员初始化。复印构造器的格式:类名(类名Y=y; TPoint (TPoint,4.4复印构造器,一般构造器在创建对象时被调用,复印构造器例如在void main () t point (1,2 )上用1 .类中的一个对象来初始化该类中另一个对象; 当TPoint B(A) /对象a对对象b进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论