当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

C/C++中列举范例(enum)[VC/C++编程]

赞助商链接



  本文“C/C++中列举范例(enum)[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

假如一个变量你需求几种大概存在的值,那么便可以被定义成为列举范例.之所以叫列举就是说将变量大概叫对象大概存在的情形也可以说是大概的值一一例举出来.

举个例子来阐明一吧,为了让大家更懂得一点,比方一个铅笔盒中有一支笔,但在没有翻开之前你并不知道它是什么笔,大概是铅笔也大概是钢笔,这里有两种大概,那么你便可以定义一个列举范例来表示它!

enumbox{pencil,pen};//这里你就定义了一个列举范例的变量叫box,这个列举变量内含有两个元素也称列举元素在这里是pencil和pen,辨别表示铅笔和钢笔.

这里要说一下,假如你想定义两个具有一样特点列举范例的变量那么你可以用以下的两种方法举行定义!

enumbox{pencil,pen}; 

enumboxbox2;//大概简写成boxbox2;

再有一种就是在声明的时刻同时定义.

enum{pencil,pen}box,box2;//在声明的同时举行定义!

列举变量中的列举元素系统是按照常量来处理的,故叫列举常量,他们是不能举行普通的算术赋值的,(pencil=1;)这样的写发是错误的,但是你可以在声明的时刻举行赋值操作!

enumbox{pencil=1,pen=2};

但是这里要分外注意的一点是,假如你不举行元素赋值操作那么元素将会被系统自动从0开始自动递增的举行赋值操作,说到自动赋值,假如你只定义了第一个那么系统将对下一个元素举行前一个元素的值加1操作,比方

enumbox{pencil=3,pen};//这里pen就是4系统将自动举行pen=4的定义赋值操作!

前面说了那么多,下面给出一个完好的例子大家可以通过以下的代码的学习举行更完好的学习!

#include<iostream> 
usingnamespacestd; 
 
voidmain(void) 
{ 
   enumegg{a,b,c}; 
   enumeggtest;//在这里你可以简写成eggtest;
 

test=c;//对列举变量test举行赋予元素操作,这里之所以叫赋元素操作不叫赋值操作就是为了让大家懂得列举变量是不能直接赋予算数值的,比方(test=1;)这样的操作都是不被编译器所承受的,精确的方法是先举行强迫范例转换比方(test=(enumegg)0;)! 

  if(test==c) 
   { 
     cout<<"列举变量判断:test列举对应的列举元素是c"<<endl; 
   } 
 
   if(test==2) 
   { 
     cout<<"列举变量判断:test列举元素的值是2"<<endl; 
   } 
 
   cout<<a<<"|"<<b<<"|"<<test<<endl; 
 
   test=(enumegg)0;//强迫范例转换 
   cout<<"列举变量test值改变成:"<<test<<endl; 
   cin.get(); 
}

看到这里要最后说一个问题,就是列举变量中的列举元素(大概叫列举常量)在特别情形下是会被自动晋升为算术范例的!

#include<iostream> 
usingnamespacestd; 
 
voidmain(void) 
{ 
   enumtest{a,b}; 
   intc=1+b;//自动晋升为算术范例 
   cout<<c<<endl; 
   cin.get(); 
}

  以上是“C/C++中列举范例(enum)[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 操纵 .htaccess 启用 gzip 压缩静态内容
  • 高配置机械在CC攻击需求做的调整
  • Ubuntu proc gcc典型问题
  • Ubuntu 10.10安装低版本gcc和g++编译器
  • Windows2003下配置 Apache2.2 + MySQL 5 + php5 + ZendOptimizer3.3 + .htaccess重写
  • LNMP上进级布置PHP加快器eAccelerator
  • 在Access2007"快速拜候工具栏"增添更多号令
  • Access2007表的数据表视图和计划视图
  • access violation at address的问题
  • VB用Access数据库成立用户登录
  • Web服务器若何防CC攻击
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .