有时候我们想在类中设定一个常量,比如我们定义的数组用等等," z+ I! \) h" p, T/ {
class A
5 R' M; P$ l4 ~4 \$ J) z: p ^ {& M, I4 ^$ G+ L2 j) @7 Z' N
const int SIZE = 100;
- |* I0 @! J/ l7 ~% ~( s, b9 G( G+ ~ int test[SIZE];//这时的SIZE的值还未定; @5 }! J: L+ _8 I
};1 E# ]& o+ ^- h- D$ C& u
但是类在定义的时候只是对类的声明,并不能分配空间,没有对象,
/ @4 k- w5 k8 A2 }5 J2 x 所以这个时候会出错,考试.大提示可以用枚举来完成:6 r; M3 V% c" ~" J, [" f& m
class A
6 C3 q- `% \- X+ Y {3 R8 j* ~1 q; B7 C4 n
enum{SIZE1 = 100,SIZE2 = 200};
) c+ j; i( J+ B3 V int test[SIZE1];0 N. a+ g# W7 ?2 z8 B
int test[SIZE2];
& ?$ T3 T( G; g) z: e };
2 V/ w5 d8 B; S 因为枚举常量在编译的时候就被全部的求值了,不会占用对象的空间,
; @7 t- d) ?6 J! U1 h 缺点是他们都是整形的。 |