第5章类与对象..docVIP

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

第 5 章 类与对象 【本章目标】  ·结构类型用struct定义,是用户自定义数据类型,由不同类型的数据成员组成。结构变量在内存占有一片连续的存储区间。结构变量成员用圆点运算符和箭头运算符访问。  ·链表是一种重要的动态数据结构。动态数据的组织特点是可以在程序运行时创建或撤消数据元素。为了描述动态数据结构中元素之间的关系,数据元素类型定义必须包含表示数据关系的指针。我们详细讨论了最简单的动态数据结构——单向链表的操作。  ·类类型是结构类型的拓展,通常用关键字class定义。类是数据成员和成员函数的封装。类的实例称为对象。  ·数据成员是类的属性,可以为各种合法的C++类型,包括类类型。  ·成员函数用于操作类的数据或在对象之间发送消息。  ·类成员由private, protected, public决定访问特性。public成员集称为类的接口。不能在类的外部访问private成员。  ·构造函数是特殊的成员函数,在创建和初始化对象时自动调用。析构函数则在对象作用域结束时自动调用。  ·重载构造函数和复制构造函数提供了创建对象的不同初始化方式。当一个对象拥有的资源是由指针指示的堆时,必须定义深复制方式的复制构造函数。  ·静态成员是局部于类的成员,它提供一种同类对象的共享机制。静态数据成员在编译时建立并初始化存储空间。静态数据成员和静态成员函数依赖于类而使用,与是否建立对象无关。  ·友员是类对象操作的一种辅助手段。一个类的友员可以访问该类各种性质的成员。  ·从编译器的观点看,类是一个程序包。定义什么类成员和如何声明成员的访问性质,取决于问题的需要。 【教学内容】 目录 5.1 结构 2 5.2 类与对象 14 5.3 构造函数和析构函数 17 5.4 静态成员 27 5.5 友员 31 5.1 结构   结构由数目固定的成员,各成员可以具有不同的数据类型。 5.1.1 定义结构和访问结构 1.定义结构 结构类型以关键字struct标识,结构说明语句形式为:   struct 标识符    {? 类型 成员1 ;     类型 成员2 ;     …     类型 成员n ;   ? } ; 例如,定义职工档案的结构类型:   struct Employee1   { char name[10] ;   ? long code ;   ? double salary ;   ? char *address ;   ? char phone[20] ;   } ; 2.访问结构 对结构变量成员访问用圆点运算符:   结构变量名 . 成员 【例5-1】访问结构变量。 #includeiostream.h struct weather // 声明结构类型 { double temp ; double wind ; } ; void main() { weather today ; // 声明结构类型变量  today.temp = 10.5 ; // 对结构变量成员赋值  today.wind = 3.1 ;  cout Temp= today.temp endl ; // 按成员输出  cout Wind= today.wind endl ; } 如果用指针访问结构,访问形式为:   ? *(指针). 成员 ? 或  指针 - 成员 【例5-2】用指针访问结构。 #includeiostream.h #includestring.h struct person { char name[20] ; unsigned long id ; float salary ; } ; void main() { person pr1 ;  person *pp ; // 定义结构指针  pp = pr1 ; // 取结构变量地址  strcpy( pp-name, David Marat ) ; // 对结构成员赋值,等价于(*pp).name  pp-id = 987654321; // pp-id 等价于(*pp).id  pp-salary = 335.0 ; // pp-salary 等价于(*pp).salary  cout pp-name \t pp-id \t pp-salary endl ; } 【例5-3】结构变量赋值。 #includeiostream.h struct weather { double temp ; double wind ; } yesterday ; void main() { weather today ; // 声明同类型变量  yesterday.temp = 10.5 ;  yesterday.wind = 3.1 ;  today

文档评论(0)

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

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

1亿VIP精品文档

相关文档