1非类成员的静态变量不是类成员的静态变量有两种函数中的静态局部变量和函数外的静态全局变量。参考C语言存储类别、存储区一文局部变量加static是函数结束之后变量还在全局变量加static是把作用域限制在本文件中。2作为类成员的静态变量类成员变量加static就可以用类直接使用成员不需要对象。需要注意的是静态成员只是一个声明还需要在类外面定义这个成员。class A { public: static int x; }; int A::x 10; class B :public A { }; class C :public A { }; int main() { B::x 3; cout C::x; return 0; }输出3表明所有的子类都和父类共享同一个静态成员。3非类成员的静态函数类似于全局变量加static是把作用域限制在本文件中只有文件所在的编译单位内可以使用这个函数。4作为类成员的静态函数非静态的类成员函数通过this指针确定访问哪个对象实例的数据。类成员函数加static之后没有this指针调用时不会传递对象的引用所以不能访问非静态的成员。