关于类的静态成员,我们需要知道以下几点:
类里面static修饰的成员,成为静态类成员。 类的静态成员是该类型的所有对象对象所共享。
(1)类的静态成员是属于类而不属于对象,所以他不是类的单个对象所有。
(2)静态成员只存在一个,不像普通的成员,每创建一个对象,就会创建一组普通的成员。
(3)静态成员变量的初始化不能在类中,肯定是不能在构造函数中,只能在类外并且在main函数之前,按照这样的格式进行初始化:变量类型 类名::变量名= 值。并且是先初始化再使用。
(4)在静态成员函数中不可以使用非静态成员。因为非静态成员是属于对象,而类的静态成员函数是属于类的,在类的对象实例化之前就已经完成了初始化。如果在静态成员函数中引用非静态成员,就好比是使用一个并没有完成初始化的变量。
(5)类的非静态成员函数中可以引用类的静态成员。反之不可以。
(6)静态成员函数没有this指针。
(7)父类中定义了静态成员,则整个继承体系中只有一个这样的成员,无论派生出多少个子类。静态成员是存储在全局区的。