php 中定义枚举类型,自定义类型枚举enum

在实际编程中,如果有一个swith语句:先写两种让在大家比较一下

C++

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

switch(a)

{

case0:

//。。。

break;

case1:

//。。。

break;

case2:

//。。。

break;

case3:

//。。。

break;

}

C++

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

switch(a)

{

caseRED:

//。。。

break;

caseYELLOW:

//。。。

break;

caseBLACK:

//。。。

break;

caseBLUE:

//。。。

break;

}

这两段代码一看就知道第二段更有可读性,更方便管理。不然像第一段维护时,会发现0是什么,1是什么,还要再去看代码。第二段看了就明白,是RED的时候,YELLOW的时候等。

哪像第二段要怎么才能实现呢?这就是C++里面的枚举的用处。

枚举就是定义一组常量,让这常量看起来更有意义。

C++

1

2

3

4

5

6

7

enumArrow

{

UP,//默认从0开始    值是整型

DOWN,//1

LEFT,//2

RIGHT

};

枚举enum和结构还是有不一样的地方,

枚举enum没有新定义类型,结构是一个新类型

这点可以从它们的定义看到,枚举的每个值没有类型,只有名字,结束用“,”

结构类的成员都有自己的类型,有变量名,结束用“;”。

其时枚举enum是整型变量。枚举enum的定义意义,以Arrow类型为例,它的取值只有4个。主要还是为了编程时方便管理,方便阅读,方便理解程序。

运用有非常多,如颜色枚举(enum)、季节枚举(enum)、月份枚举(enum)、星期枚举(enum)、音符枚举(enum)等等。

相关文章:dynamic_cast作用关键字dynamic_cast强制将一个类型转化为另外一种类型,并且在执行运行时时检查它保证它的合法性。如果你想在两个互相矛盾的类型之间转化时,cast的返回值将为NULL....

int作用int 关键字int 用来声明整型变量....

operator作用关键字operator 用于重载函数.在上面语法中用特殊符(#)描述特征的操作将被重载.假如在一个类中,类名应当被指定.对于一元的操作, parameter-list 应当为空, 对于二元的操作,在operator右边的 parameter-list 应当包含操作数 (在operand 左边的被当作 this通过)....

private作用属于私有类的数据只能被它的内部成员访问,除了friend 使用.关键字private 也能用来继承一个私有的基类,所有的公共和保护成员的基类可以变成私有的派生类....

default作用default swich语句中的缺省条件....

friend作用friend 关键字friend允许类或函数访问一个类中的私有数据....

mutable作用mutable 关键字mutable 忽略所有const 语句.一个属于const对象的mutable 成员可以被修改....

signed作用signed 关键字signed 用来修正数据类型,用来声明符号字符型型变量....

自定义类型结构struct结构就是将基本类型组合在一起形成一个新类型,结构struct主要目地,方便编程和管理代码。比如一个二维平面的点point,有两个值x,y;这时定义成结构struct,编程代码看起来会非常清楚。如果不定义成结构struct用两个变量,当然问题是可以解决,但这样项目变大时将会是个灾难。...

自定义类型联合union联合union与结构非常的类似,也是自定义类型。结构是将简单类型组成一起,联合union是也是将简单类型组在一起,但它占的内存是共用的。画个图应该会明白点。 联合还有很多运用,很多变化。只要记住一点就好,联合union是共用一块内存。这点记住了,不管再怎么运用变化,都能很快想明白。...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值