2011-2012-1学期 c++第7章-类和对象2-1学生-20110921.pptVIP

2011-2012-1学期 c++第7章-类和对象2-1学生-20110921.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011-2012-1学期c第7章-类和对象2-1学生-20110921

赋初值例: 胡凤珠 第7章 类和对象(二) 第7章 类和对象(二)- 目录 对象指针和对象引用 1 对象数组和对象指针数组 2 子对象和堆对象 3 类的作用域和对象的生存期 4 结构的应用 5 第7章 类和对象(二)主要内容 介绍各种对象和知识: 一般对象 常对象 指向对象的指针 对象引用 子对象 堆对象 运算符new delete 的应用 对象的生存期 7.1 对象指针和对象引用 7.1.1 对象指针 定义格式: 类名 *对象指针名=初值 对象指针:指向对象的指针。 A a(8); A *pa=a; pa a 对象指针可以赋初值,也可不赋初值,初值通常使用同类对象的地址值。 1、指向对象的指针的定义、赋值及应用 对象指针也可以被赋值,方法如下: ① 使用同类对象的地址值给对象指针赋值; ② 使用运算符new为对象指针赋值。 指向对象成员的表示用运算符-,还可通过指针对象成员来给该指针指向的对象赋值。 指向对象的指针主要用来作函数参数和返回值。 7.1 对象指针和对象引用 7.1.1 对象指针 1、指向对象的指针的定义、赋值及应用 对象指针pa 对象指针a 8 5 0 0 对象a 对象b 8 5 25 20 a1是fun函数中的局部对象,函数调用结束时空间释放! 对象指针作函数参数的优点:实现传址调用,传参时不拷贝实参副本,从而提高了程序运行的效率,减少了时空开销。 (1)指向对象的常指针 类名 * const 指针名; 该指针始终指向一个对象,指针中对应的地址值是常量不得改变,而该指针所指向的对象中的内容是可以改变。 Date d1,d2; Date *const pd=d1; pd=d2; 2.指向对象的常指针和指向常对象的指针 7.1 对象指针和对象引用 7.1.1 对象指针 × 指向对象的常指针pd 2.指向对象的常指针和指向常对象的指针 7.1 对象指针和对象引用 (2)指向常对象的指针 const 类名 * 指针名= 初值; const Date d1(2005,7,1); const Date *pd=d1; 注意: 如果有一个常对象,指向它的指针一定要用指向常对象的指针。 指向常对象的指针可以用一般对象的地址进行赋值,但不能通过该指针改变对象的值。 使用常对象指针引用的成员函数应是常成员。 指向常对象的指针的地址值是可以改变的。 指向常对象的指针可作为函数参数。 2 7 2005 常对象d1 对象d2 常对象指针pd 不能通过指向常对象的指针改变对象的值 7.1 对象指针和对象引用 7.1.2 this指针 每一个成员函数中隐含一个特殊的指针,即 this指针。 它是系统创建的,指向正在调用类的成员函数的对象,它的值是正在 调用类的成员函数的对象的地址。 在需要时也可以显示出现this表示指向对象的指针。 7.1 对象指针和对象引用 0 0 5 1 a1 a2 this 引用a作为a2的别名 5 1 每一个成员函数中隐含一个this指针,但我们不用写出来! 7.1 对象指针和对象引用 7.1.3 对象引用 对象引用的定义格式: 类名 对象引用名=对象名 A a(6); A ra=a; 对象引用常用来作函数的形参。 当函数形参为对象引用时,则要求实参为对象名,实现引用调用。 但由于引用调用可以在被调用函数中通过引用来改变函数中的参数值,为避免改变的时候,可以使用对象的常引用做形参。 A a(7); Const A ra=a; 7.1 对象指针和对象引用 7.1.3 对象引用 对象常引用的定义格式: const 类名 对象引用名=对象名 8 5 对象a 0 0 对象b 8 5 25 20 8 5 对象a1 15 10 例7.5与例7.1比较 对象引用和对象指针作为函数的参数都可实现对实参值得改变! 如果例7.5把fun的第二个参数改为常引用,则编译出错 相同类的若干个对象的集合构成一个对象数组。对象数组的定义格式如下。 类名 对象数组名 [大小]… 对象数组元素可以被赋值。 7.2 对象数组和对象指针数组 7.2.1 对象数组  例如:TDate date1[5]; TDate date2[2][3]; 该数组元素的对象属于哪一个类 数组元素个数,即该数组中包含了多少个对象 方式1: 方式2: 定义对象数组aa1: 7.2 对象数组和对象指针数组 7.2 对象数组和对象指针数组 对象数组stu 数组元素stu[0] 数组元素stu[1]

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档