C++_类的静态成员

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即<类名>::<静态成员名>。

总结:

1.不能通过类名来调用类的非静态成员函数。

2.类的对象可以使用静态成员函数和非静态成员函数。

3.静态成员函数中不能引用非静态成员。因为静态成员函数属于整个类,在类实例化对象之前就已经分配空间了,而类的非静态成员必须在类实例化对象后才有内存空间,所以这个调用就出错了,就好比没有声明一个变量却提前使用它一样。

4.类的非静态成员函数可以调用用静态成员函数,但反之不能。

5.初始化静态成员变量要在类的外面进行。不能用参数初始化表,对静态成员变量进行初始化。静态成员变量使用前必须先初始化(如int MyClass::m_nNumber = 0;),否则会在linker时出错。

猜你喜欢

转载自blog.csdn.net/Gentlemanman/article/details/89155495