在类中,静态成员分为静态数据成员和静态成员函数。
静态数据成员
静态数据成员是类的所有对象共享的成员,而不是某个对象的成员。使用静态数据成员可以节省内存,因为它是所有对象所公有的,值需存储在一处。
静态成员函数
静态成员函数和静态数据成员一样,都属于类的静态成员,都不是对象成员。
静态数据成员与普通数据成员的区别:
1、普通数据成员属于类实例化的一个具体对象,只有对象被创建之后,普通数据成员才会被分配内存空间,而静态数据成员属于整个类,即使没有对象创建,也一直存在;
2、类的静态数据成员应该显示初始化,一定要在类体外;
3、通过类名访问静态数据成员;
4、类的静态成员函数无法直接访问普通数据成员,而类的任何成员函数都可以访问类的静态数据成员;
5、访问级别public、private、protected。
6、静态成员函数没有this指针。因为类只有一个静态成员函数实例,所以使用this指针没有意义。