- static只能出现在类体中,类外不出现static关键词,static数据成员和static函数成员都遵循这个规定;
- static的访问控制有效;
- static数据成员必须在类体外定义,类体内只是声明而不包括定义的,这里要严格理解声明语句和定义语句的不同了。如下列代码:
class A{
public:
static int a;
};
int A::a = 10;
代码static int a;是声明语句,而int A::a =10 ;则是定义语句。static成员规定必须在类体中声明,在类体外定义。