- 1、本文档共54页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录 第1章 C++概述 第2章 数据类型、运算符和表达式 第3章 简单的输入/输出 第4章 C++的流程控制 第5章 函数 第6章 编译预处理 第7章 数组 第8章 结构体、共同体和枚举类型 第9章 指针和引用 第10章 类和对象 第11章 类和对象的其他特性 第12章 继承和派生 第13章 多态性 第14章 输入/输出流 第15章 模板 第10章 类和对象 (4)动态申请的对象 —— 使用 new 产生对象时, 系统自动调用构造函数;使用 delete 撤消对象时, 系统自动调用析构函数。 [例10.7]见 “第10章 类和对象(例子).doc” 此程序运行结果是: Constructor: 2008.4.4 //调用构造函数,产生d4对象 进入 main( )函数! Constructor: 2008.1.1 // 调用构造函数,产生d1对象 进入 fun( )函数! // 第1次进入fun( )函数,产生下述 d2, d3对象 Constructor: 2008.2.2 Constructor: 2008.3.3 退出 fun( )函数! // 退出fun( )函数,撤消d3对象,不撤消d2对象 Destructor: 2008.3.3 续: 进入 fun( )函数! // 第2次进入fun( )函数,再次产生d3对象 Constructor: 2008.3.3 退出 fun( )函数! Destructor: 2008.3.3 // 退出fun( )函数,撤消d3对象 退出 main( )函数! // 退出main ( )函数,撤消d1, d2, d4对象 Destructor: 2008.1.1 Destructor: 2008.2.2 Destructor: 2008.4.4 1. 缺省构造函数 定义类时,若没有定义构造函数,则编译系统 自动生成一个不带参数的缺省构造函数,格式如下: ClassName:: ClassName( ) { } 10.2.2 缺省构造函数和缺省析构函数 [例10.8] 定义类时,不定义构造函数 #include iostream.h class Date { int Year, Month, Day; public: void ShowDate( ) { cout Year.Month.Dayendl; } }; void main( ) { Date d; d.ShowDate( ); } 程序的运行结果是:? -858993460.-858993460.-858993460 原因: 系统自动产生的缺省构造函数是: Date::Date( ) { } //不做任何操作 缺省构造函数有两种形式: 没有参数的构造函数或各参数均有缺省值的构造函数, 缺省构造函数只能有一个。 Date:: Date( ) //没有参数 { Year=2003; Month=1; Day=1; } 或 Date:: Date(int y=2003, int m=1, int d=1) //均有缺省值 { Year=y; Month=m; Day=d; } void main( ) { Date d; d.ShowDate( ); } 运行结果? 注意: ①在产生对象时,若不需要对数据成员进行初始化,可以不显式地定义缺省构造函数。 ②在一个类的定义中,缺省构造函数只能有一个。 ③若已经定义了构造函数(不论它是否为缺省构造函数),则编译系统不再自动生成缺省构造函数。 2. 缺省析构函数 若在类中没有显式定义析构函数, 则编译器自动地产生一个缺省的析构函数。 ClassName :: ~ ClassName ( ) { }; 格式为: ① 在撤消对象时,若不需要做任何结束工作, 可以不定义析构函数。 ② 当类中有动态申请的数据空间时,需要显式地定义 析构函数,撤销动态数据空间。如:例10.6 * * 第一部分 面向过程的程序设计 第二部分 面向对象的程序设计 10.1 类和对象的定义 10.1.1 从结构体到类 以前,定义结构体类型,描述一个对象 : struct SPerson //只有数据成员 { char name[20]; //姓名 char sex; //性别
您可能关注的文档
最近下载
- 再保险电子教案省公开课一等奖全国示范课微课金奖PPT课件.pptx
- 江苏省政府采购评审专家考试题库.docx VIP
- 2024届高考英语二轮专题复习与测试专题六读后续写课件(共94张PPT).pptx
- 酒店运营管理(北京联合大学)中国大学MOOC慕课章节测验答案(课程ID:1206458820).pdf
- 小塞尔采蓝莓儿童故事绘本PPT课件.ppt VIP
- 《百草枯中毒》ppt课件.pptx
- 一年级奥数教材详细版.doc
- 专题04 一次函数中的特殊平行四边形存在性问题(原卷版)-2024年常考压轴题攻略(9年级上册人教版).pdf
- 关于江苏省政府采购评审专家.doc VIP
- Unit 5 Lesson 3 At the zoo 课件 七年级英语上册冀教版(2024).pptx VIP
文档评论(0)