新手入门:C/C++中枚举类型(enum)

善良的喊冤者

善良的喊冤者

2016-02-19 20:21

最近很多朋友喜欢上设计,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。
 
  
    假如一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。
  
   !-- frame contents -- !-- /frame contents --   举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!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操作,例如  前面说了那么多,下面给出一个完整的例子大家可以通过以下的代码的学习进行更完整的学习!#include iostream 
  using namespace std; 
   
  void main(void) 
  { 
      enum egg {a,b,c}; 
      enum egg test; //在这里你可以简写成egg test; 
   
      test = c; //对枚举变量test进行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了让大家明白枚举变量是不能直接赋予算数值的,例如(test=1;)这样的操作都是不被编译器所接受的,正确的方式是先进行强制类型转换例如(test = (enum egg) 0;)! 
   
      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++技术专题  Solaris基础知识入门专题,或
展开更多 50%)
分享

猜你喜欢

新手入门:C/C++中枚举类型(enum)

编程语言 网络编程
新手入门:C/C++中枚举类型(enum)

C/C++中枚举类型(enum)的入门教程

编程语言 网络编程
C/C++中枚举类型(enum)的入门教程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

新手入门:C++中布尔类型

编程语言 网络编程
新手入门:C++中布尔类型

新手入门:C/C++中数组和指针类型的关系

编程语言 网络编程
新手入门:C/C++中数组和指针类型的关系

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

新手入门:C/C++中的结构体

编程语言 网络编程
新手入门:C/C++中的结构体

新手入门:C++下的引用类型

电脑网络
新手入门:C++下的引用类型

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

温故而知新:C++常用排序算法

温故而知新:C++常用排序算法

精华:C++编程新手错误语录(续一)

精华:C++编程新手错误语录(续一)
下拉加载更多内容 ↓