在C++中,静态成员是属于整个类,而不是某个对象的,静态成员变量只存储一份供所有对象共有。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会被破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或者声明要加个关键字static。静态成员可以通过双冒号来使用即<类名>::<静态成员名>
使用总结如下
1. 不能通过类名调用类的非静态成员函数
2. 类的对象可以使用静态成员函数和非静态成员函数
3. 静态成员函数不能引用非静态成员( 静态成员函数属于整个类,在类的实例化对象之前就已经分配空间了,而类的非静态成员必须在类实例化对象后才有内存空间,所以不能调用,好比没有声明一个变量对提前使用它 )
4. 类的非静态成员函数可以调用静态成员函数
5. 类的静态成员变量必须先初始化在使用