类的每个对象有自己的所有数据成员的副本,有时类的所有对象应共享变量的一个副本,因此可以使用static类变量。static类变量表示的是类范围中所有对象的信息。static类成员的声明以static关键字开始。
尽管static数据成员像是全局变量,但static数据成员的作用域是类范围,static成员可以为public、private或protected。static数据成员只在文件范围中初始化一次。
如果成员函数不访问非static类数据成员和成员函数,则可以声明为static。与非static成员函数不同的是,static成员函数没有this指针,因为static类数据成员和成员函数是独立于类对象而存在的。
*在static成员函数中引用this指针是个语法错误。
将static成员函数声明为const是个语法错误。