如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。
举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!
enum box{pencil,pen};//这里你就定义了一个枚举类型的变量叫box,这个枚举变量内含有两个元素也称枚举元素在这里是pencil和pen,分别表示铅笔和钢笔。
这里要说一下,如果你想定义两个具有同样特性枚举类型的变量那么你可以用如下的两种方式进行定义!
enum box{pencil,pen};
enum box box2;//或者简写成box box2;
再有一种就是在声明的时候同时定义。
enum {pencil,pen}box,box2; //在声明的同时进行定义!
枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,他们是不能进行普通的算术赋值的,(pencil=1;)这样的写发是错误的,但是你可以在声明的时候进行赋值操作!
enum box{pencil=1,pen=2};
但是这里要特别注意的一点是,如果你不进行元素赋值操作那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果你只定义了第一个那么系统将对下一个元素进行前一个元素的值加1操作,例如<P class=code enum box{pencil=3,pen};//这里pen就是4系统将自动进行pen=4的定义赋值操作!
复制代码
前面说了那么多,下面给出一个完整的例子大家可以通过以下的代码的学习进行更完整的学习!
#include <iostream>
using namespace std;
void main(void)
{
enum egg {a,b,c};
enum egg test; //在这里你可以简写成egg test;
/**对枚举变量test进行赋予元素操作,
*这里之所以叫赋元素操作不叫赋值操作就是为了让大家明白枚举变量是不能直接赋予算数值的,
*例如(test=1;)这样的操作都是不被编译器所接受的,
*正确的方式是先进行强制类型转换例如(test = (enum egg) 0;)!
*/
test = c;
if (test==c)
{
cout <<"枚举变量判断:test枚举对应的枚举元素是c" << endl;
}
if (test==2)
{
cout <<"枚举变量判断:test枚举元素的值是2" << endl;
}
cout << a << "|" << b << "|" << test <<endl;
test = (enum egg) 0; //强制类型转换
cout << "枚举变量test值改变为:" << test <<endl;
cin.get();
}
看到这里要最后说一个问题,就是枚举变量中的枚举元素(或者叫枚举常量)在特殊情况下是会被自动提升为算术类型的!
#include <iostream>
using namespace std;
void main(void)
{
enum test {a,b};
int c=1+b; //自动提升为算术类型
cout << c <<endl;
cin.get();
}
分享到:
相关推荐
第一章 C语言程序设计初步 第二章 程序的流程控制 第三章 函数与程序结构 第四章 数组 第五章 结构体、共用体和枚举 第六章 文件 第七章 C++程序设计初步
C++结构体、共用体和枚举类型详细介绍及简单例子详解,从基本代码开始讲解,代码小白入门教程
压缩包内为个人学习C++时记录的笔记 包含C++开始;基本输入和输出;简单程序;类和对象;数据结构;指针;捕获异常;定义新的异常;多继承;;封装实例;函数重载;枚举;数据抽象;异常处理;等等20余种
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...
这是一个简单算法问题暴力法解鸡兔同笼问题c++算法问题
主要介绍了C++基础入门教程(四):枚举和指针,本文重点讲解了指针,有幽默搞笑的语言描述了指针,需要的朋友可以参考下
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...
C++语言的基本特性,包括概述,表达式,语句,数组,指针,函数,结构,联合,枚举,及用户自定义等等。
3.3 枚举类型 4. 变量类型 4.1 C++ 中的变量定义 4.2 C++ 中的变量声明 4.3 C++ 中的左值(Lvalues)和右值(Rvalues) 5. 变量作用域 5.1 局部变量 5.2 全局变量 5.3 初始化局部变量和全局变量 6. 常量 6.1 整数...
枚举算法从入门到精通习题集,超详细,可以作为广大人民群众的算法入门知识
2.13.6 C++/CLI枚举 92 2.14 查看C++/CLI类型 96 2.15 小结 97 2.16 练习 97 2.17 本章主要内容 98 第3章 判断和循环 101 3.1 比较数据值 101 3.1.1 if语句 102 3.1.2 嵌套的if语句 104 3.1.3 嵌套的if-...
C++从零开始(九)——何谓结构(简要说明结构、枚举等及其存在的理由) C++从零开始(十)——何谓类(说明类及其存在的理由,以及声明、定义、头文件 等概念) C++从零开始(十一)——类的相关知识(说明派生、...
主要介绍了讲解C++中的枚举类型以及声明新类型的方法,是C预言入门学习中的基础知识,需要的朋友可以参考下
本书系编程语言先驱者Ivor Horton的经典之作,是学习C++编程最畅销的图书品种之一,不仅涵盖了Visual C++ .NET编程知识,还全面介绍了标准C++语言和.NET C++/CLI。本书延续了Ivor Horton讲解编程语言的独特方法,...
本书的前言阐述了 第4版和前一版的不同之处。 【目录信息】 第1章 快速入门 1 1.1 编写简单的C++程序 2 1.2 初窥输入/输出 5 1.2.1 标准输入与输出对象 5 1.2.2 一个使用IO库的程序 5 1.3 关于注释 8 1.4 控制结构...
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...
Visual C++ 2005入门经典.pdf(整理并添加所有书签) ,看书的时候更方便. 封面 目录 第1章 使用Visual C++ 2005 编程 1.1 .NET Framework 1.2 CLR 1.3 编写C++应用程序 1.4 学习windows编程 1.4.1 学习c++ 1.4.2 C++...