第5章枚举、结构与类讲义.ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 枚举、结构与类 主要内容 枚举类型 结构类型 类类型与对象 面向过程程序设计与面向对象程序设计 1、简单数据类型 vs. 构造式数据类型 简单数据类型 又称基本数据类型,原子数据类型 这些类型的数据就是单一的一个值,不可再分 构造式数据类型 又称复合类型 这些类型的数据并非单一的一个值,而是由其内部各成分组成的、具有一定结构的数据 这些类型需要由程序员定义 2、枚举类型 内置类型的值域取决于计算机硬件及编译器实现 如:char类型的值域为-128~127;int类型(2字节)的值域为32768~32867 有时程序员需要具有自定义值域的类型 目的:增强代码可读性 如:表示一周中某天的数据类型,其值域可以是: { SUN, MON, TUE, WED, THU, FRI, SAT } 如:表示颜色的数据类型,其值域可以是: { RED, GREEN, BLUE} 实现:采用枚举类型 2、枚举类型(续) 枚举类型的定义 enum Day{SUN, MON, TUE, WED, THU, FRI, SAT}; enum Color{RED, GREEN, BLUE}; 2、枚举类型(续) 枚举类型变量的定义和使用 Day day1, day2; //定义变量day1和day2 day1 = WED; //Day常量WED赋值给Day变量day1 day2 = FRI; //Day常量FRI赋值给Day变量day2 day2 = day1; //Day变量day1赋值给Day变量day2 MON = SUN; //错误!MON是常量,不能被赋值 2、枚举类型(续) 枚举元素是命名常量还是字面常量? 从语法角度,可视为命名常量。枚举元素的机内表示为0,1,2…等整数值 从应用角度,可视为字面常量。如:SUN就是Day类型的字面常量 使用枚举类型的注意事项 可以用枚举类型的值给整型变量赋值(隐式类型转换),但不能将整型值直接赋给枚举型变量(需进行强制类型转换) 枚举型变量不能直接自增 day1++; × day1 = Day( day1 +1 ); ? 不能直接进行枚举型数据的输入和输出 3、结构类型 假设有如下表格: 若需要变量来记录某个学生的各项资料,可以定义如下5个变量,然后再分别对这些变量进行赋值: string stuNum; // 用来记录考生编号 string stuName; // 用来记录考生姓名 int score1; // 用来记录考生课程1成绩 int score2; // 用来记录考生课程2成绩 bool admit; // 用来记录考生的录取情况 3、结构类型(续) 3、结构类型(续) 结构类型的声明(定义) 3、结构类型(续) StudentRec stu1, stu2; //与一般变量的定义语句相同 3、结构类型(续) 3、结构类型(续) 结构变量的整体操作 赋值操作:结构变量可以整体赋值给相同类型的另一个变量 如:stu2 = stu1; //stu1和stu2均为StudentRec类型 3、结构类型(续) 结构变量的整体操作(续) 结构变量作函数参数 如:可用不带返回值的函 数完成一名学生资料的输入 结构变量作函数返回值 如:亦可带返回值的函数 完成一名学生资料的输入 注意:结构变量不能作为整体进行I/O、算术和比较操作 3、结构类型(续) 层次结构 一个结构类型的成员的类型是另一结构类型 3、结构类型(续) 层次结构变量的存储 StudentRec stu1; 3、结构类型(续) 3、结构类型(续) 4、抽象、封装与信息隐藏 抽象 现实生活中,我们经常会借助“抽象”来理解事物或解决问题 一种依赖于接口和实现分离的设计和编程技术 将对象的本质特征(what)与对象如何工作及如何构成的具体细节(how)相分离 4、抽象、封装与信息隐藏(续) 抽象(续) 数据抽象 将数据类型的逻辑特征与其实现相分离 只关心数据“是什么”(可能的取值,能进行的操作),而不关心它是如何实现的 被抽象的数据的数据类型称为抽象数据类型 行为抽象(控制抽象) 将行为的逻辑特征与其具体实现相分离 只关心行为能够为我们带来什么,而不关心这个行为的具体实现方法 例: search (list, item, length, where, found); 4、抽象、封装与信息隐藏(续) 抽象(续) 软件设计中经常会用到抽象。例如下面的计算就用到了抽象: y = sin(x) +

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档