[工学]c++ 第8章复杂数据类型

[工学]c++ 第8章复杂数据类型

ID:39962130

大小:492.00 KB

页数:67页

时间:2019-07-16

[工学]c++ 第8章复杂数据类型_第1页
[工学]c++ 第8章复杂数据类型_第2页
[工学]c++ 第8章复杂数据类型_第3页
[工学]c++ 第8章复杂数据类型_第4页
[工学]c++ 第8章复杂数据类型_第5页
资源描述:

《[工学]c++ 第8章复杂数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++面对对象程序设计授课老师:第8章复杂数据类型本章要点8.1枚举类型的定义及应用8.2结构体的定义及应用8.3共用体的定义及应用8.4链表8.5类型定义本章要点枚举类型的定义及应用结构体的定义及应用共用体的定义及应用用typedef定义类型名8.1枚举类型在程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日7个数据元素组成的集合,程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为:{Sun,Mon,Tue,Wed,Thu,Fri,Sat}该集

2、合可定义为描述星期的枚举类型,该枚举类型共有7个元素,因而用枚举类型定义的枚举变量只能取集合中的某一元素值。由于枚举类型是导出数据类型,因此,必须先定义枚举类型,然后再用枚举类型定义枚举型变量。8.1.1枚举类型的定义枚举类型的一般定义格式为:enum<枚举类型名>{<枚举元素表>};其中:关键字enum表示定义的是枚举类型,枚举类型名由标识符组成。枚举元素为常量时定义形式如下:enum<枚举类型名>{<枚举常量1,枚举常量2,…,枚举常量n};例如:enumseasons{spring,summer,autumn,winter};//定义枚举类型enumseaso

3、ns又如:enumcolors{red,blue,green,yellow,white,black};//定义枚举类型enumcolors说明:(1)enum是定义枚举类型的关键字,枚举类型名应符合标识符定义的规则,enum和枚举类型名构成枚举类型的类型名。(2)花括号{}中的值是该枚举类型所有可能的枚举常量列表,定义中枚举常量不能同名。在系统默认的情况下,枚举常量值顺序为0,l,2,…,即第一个枚举常量的值为0,其后枚举常量的值是前一个枚举常量的值加1。例如示例中,spring,summer,autumn,winter的值分别为0,1,2,3,而red,blue,

4、green,yellow,white,black的值分别为0,1,2,3,4,5。(3)也可以在定义时,由用户自行设定每一个枚举常量的值。例如:enumseasons{spring=4,summer=1,autumn,winter};spring的值为4,summer的值为1,其后枚举常量的值为前一个枚举常量的值加1,顺序为2,3。(4)不能给已经定义过的枚举常量赋值。例如:spring=1;是错误的,因为枚举常量是常量而不是变量。8.1.2枚举类型变量的定义定义枚举类型变量有三种方法;即:先定义类型后定义变量,定义类型的同时定义变量,直接定义变量,现介绍如下:1.

5、先定义类型后定义变量格式:enum<枚举类型名><变量1>〔,<变量2>,…,<变量n>〕2.定义类型的同时定义变量格式:enum<枚举类型名>{<枚举元素表>}<变量1>〔,<变量2>,…,<变量n>〕;3.直接定义枚举变量格式:enum{<枚举元素表>}<变量1>〔,<变量2>,…,<变量n>〕;8.1.3枚举类型变量的引用(1)枚举变量的取值范围只能是其枚举类型定义时所枚举的各个枚举常量,所以枚举常量可赋值给枚举变量如“c1=white;c2[3]=green;”等。(2)枚举类型变量不能直接被赋予一个整数数值。如“c1=4;”是错误的,因为c1是枚举类型变量

6、,4是整型常量,两者的类型不同。经过强制类型转换后,是可以赋值的,如“c1=(enumcolors)4;”。(3)同类型的枚举变量间、枚举常量间、枚举变量与枚举常量间可以进行算术运算和关系运算等。例如:if(c1>red)…。(4)枚举变量也有作用域范围,其含义与一般变量相同。(5)枚举变量和枚举常量可以作函数参数,函数的返回值也可以是枚举类型。先定义描述6种颜色的枚举类型colors,然后再用该枚举类型定义枚举数组,任意输入6个颜色号,转换成对应的颜色枚举量后输入到枚举数组中,最后输出枚举数组中对应的颜色#include"stdafx.h"#include"std

7、io.h"#include"iostream.h"#include"stdlib.h"//使用exit(0)函数时必须包含stdlib.h头文件enumcolors{red,blue,green,black,white,yellow};//定义有六种颜色元素的枚举类型colorsvoidmain(){colorscolor[6];//定义枚举类型数组color[6]intj,n;cout<<"0:red,1:blue,2:green,3:black,4:white,5:yellow"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。