- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章作业 作业本:本章习题:一、二(2 、 4) 、三、四(1 、 4) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * speciality computer 对象zhang 指针悬挂 析构时 浅拷贝 返回 对象wang speciality speciality 对象zhang speciality computer 对象zhang speciality computer 对象wang 深拷贝 3.4 对象的使用 3.4.1 对象数组 1.对象数组的定义 定义一个一维对象数组的格式如下: 类名 数组名[元素个数]; 与基本类型数组一样,在使用对象数组时也只能逐个引用数组元素,即每次只能引用一个对象,通过该对象,可以访问类的公有成员,一般格式如下: 数组名[下标] .成员名; 2.对象数组的初始化 对象数组元素的初始化需要遵循类对象的初始化原则。由于对象在创建与初始化时需要调用构造函数,因此,对象数组初始化时,每个元素都需要调用构造函数。如果定义数组时给每个数组元素以初值,则需要调用相应的带参的构造函数。 例如: Date dt[20]={Date(2011,5,1), Date(2011,10,1)}; 在建立对象数组时要充分考虑数组元素初始化的需要,在设计构造函数时要考虑参数的安排,无参、有参、带默认参数等,避免在创建对象时造成与构造函数不匹配的问题。 在vc环境下分析example3_14.cpp,建议单步方式运行 3.4.2 对象指针 对象指针的使用也是两种方式: 一种是将它指向一个已创建的对象,然后用指针访问对象的成员; 另一种方式是利用对象指针用new申请动态空间,生成一个动态对象或动态对象数组。 对象指针的定义格式: 类名 *对象指针名; 用指针引用单个对象成员的方法与其他基本数据类型指针相同,可以有两种形式: 指针变量名-成员名 或 (*指针变量名).成员名 对象数组名实际上就是对象指针常量,所以也可以用下面的方法引用成员: (对象数组名+下标)--成员名 或 *(对象数组名+下标) .成员名 【例3.15】 对象指针的使用示例。本程序包括Date4.h及example3_15.cpp两个文件。 运行example3_15.cpp文件 【例3.16】 用对象指针申请动态空间,生成动态对象、动态对象数组的使用示例。 运行example3_16.cpp文件 建议单步方式运行 3.4.3 对象引用 对象引用与一般变量的引用一样,是一个已经定义对象的别名,引用本身不再另外占用内存空间,因为它只是某对象的别名,可以认为引用与它所代表的对象共享内存单元。 运行程序example3_17.cpp,理解引用的用法 3.4.4 对象参数 在使用类类型作为函数的形式参数时,与普通数据类型一样,可以以类的对象作为值形式参数完成单向值传递,也可以以对象指针或引用为形式参数达到更方便高效地访问、修改对应的实际参数对象值的作用,从而更方便地完成函数间的信息传递。 1. 对象作为函数参数 对象可以作为函数的值形式参数,调用函数时用同类的实际参数对象与之对应。参数传递方法与传递其他类型的数据相同,是单向值传递。在函数调用之初需要用实际参数对象初始化形式参数对象,这就需要调用拷贝构造函数。由于单向值传递的关系,在函数中对形式参数对象的任何修改均不影响对应实际参数对象本身,这与一般类型变量作为值形式参数的单向值传递原理完全一样。 运行程序example3_18.cpp 对象指针作为函数参数 当对象指针作为函数的形式参数时,就可以通过单向传地址的方式来达到函数之间信息传递的目的,实参对象的地址传给对象指针形参时,不会产生新的对象,因此不会调用拷贝构造函数。函数中可以通过对指针所指向内容的修改达到改变对应实参对象值的效果。 运行程序example3_19.cpp,比较与example3_18.cpp的区别 3.对象引用作为函数参数 与其他类型的变量一样,对象引用既可以作为函数的形式参数,也可以作为函数的返回值。一般地,在面向对象程序设计中,多采用对象引用作为形式参数而不采用对象作为值形式参数。因为,通过传值方式来传递和返回对象时都会调用拷贝构造函数,会为形式参数对象分配空间,降低了时间和空间的效率。用对象引用作形式参数,在调用函数时使得引用参数成为实参对象的别名,不产生新对象,无需另外分配内存空间,也不会调用拷贝构造函数。 运行程序example3_20.cpp ,比
您可能关注的文档
- 面点工艺 教学课件 作者 赵洁 第七章.ppt
- 面点工艺 教学课件 作者 赵洁 第三章.ppt
- 面点工艺 教学课件 作者 赵洁 第四章.ppt
- 面点工艺 教学课件 作者 赵洁 第五章.ppt
- 面点工艺 教学课件 作者 赵洁 第一章.ppt
- 面点工艺 教学课件 作者 赵洁 复习题库 思考题.ppt
- 面试攻略 教学课件 作者 黎嘉莉 实训工场.ppt
- 面试攻略 教学课件 作者 黎嘉莉 专题二项目二 面试禁忌.ppt
- 面试攻略 教学课件 作者 黎嘉莉 专题二项目三 面试技巧.ppt
- 面试攻略 教学课件 作者 黎嘉莉 专题二项目四 面试后遗.ppt
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
最近下载
- 草原就是我的家教学设计.docx VIP
- 安徽省黄山市重点名校2023-2024学年中考生物最后冲刺模拟试卷含解析.doc VIP
- 部编一年级下册语文字帖【打印可用】.pdf
- 初二地理生物中考动员主题班会.pptx VIP
- 常州大学2020-2021学年第1学期《西方经济学》期末考试试卷(A卷)含参考答案.docx
- 安徽省临泉重点名校2023-2024学年中考生物对点突破模拟试卷含解析.doc VIP
- 内轴型膝关节设计理念及特点.pdf
- 新人教PEP版小学英语六年级下册期末全册单元复习课件(含专题).ppt
- 2024年党纪学习教育党课.pptx VIP
- 2023安徽省中考生物模拟试卷第一卷(含解析).pdf VIP
文档评论(0)