总结自各处大佬博客,仅供学习
静态成员变量:
- 静态成员变量只能被初始化一次,且不该在头文件中初始化,初始化格式为:
<数据类型> <类名>::<静态成员变量名> = <值>
- 引用静态成员变量时,格式如下:
<类名>::<静态成员变量名>
- 静态数据成员被类的所有对象所共享,包括该类派生类的对象。即派生类对象与基类对象共享基类的静态数据成员。
- 静态数据成员可以成为成员函数的可选参数,而普通数据成员则不可以。
- 静态数据成员的类型可以是所属类的类型,而普通数据成员则不可以。普通数据成员的只能声明为所属类类型的指针或引用。
静态成员函数:
- C++ 普通成员函数都隐式包含了一个指向当前对象的this指针,而静态成员函数是属于类而非对象的,所以不含this指针
- 静态成员函数不可以调用类的非静态成员
- 静态成员函数的地址可用普通函数指针储存,而普通成员函数地址需要用 类成员函数指针来储存。