有时候我们想在类中设定一个常量,比如我们定义的数组用等等,
- x. K2 K% o* |7 X2 V! d) w class A* W l+ w& ^( I, g2 Z0 t9 |0 r- i
{
) \3 k% h3 ?; D `9 O9 C8 I const int SIZE = 100;
, A' K: F+ C9 m( K# v, [1 e int test[SIZE];//这时的SIZE的值还未定
6 ?9 [6 z! l2 P! w$ Q };6 h/ O' @$ \+ j% s0 T6 u
但是类在定义的时候只是对类的声明,并不能分配空间,没有对象,
3 l* z6 Z0 q/ V3 `' h+ W1 ~ 所以这个时候会出错,考试.大提示可以用枚举来完成:1 p8 V1 [- M# f% @
class A( b) J5 t) P' Q* \
{
" r5 E( e/ v1 z) J enum{SIZE1 = 100,SIZE2 = 200};
6 A- ~3 s- I- { int test[SIZE1];' E: C5 L1 n- a2 \2 I l9 t1 A
int test[SIZE2];6 F$ H7 e' X- K' K: \& {3 {
};
% Z' n8 c) {3 `% e2 W0 F7 h& ] 因为枚举常量在编译的时候就被全部的求值了,不会占用对象的空间,
+ n+ B$ t/ A# T) G! |; s/ L% L 缺点是他们都是整形的。 |