#include <iostream>
#include <string.h>
using namespace std;// 特点:
// 1.在编译阶段就分配了内存空间
// 2.类内声明,在类外进行初始化
// 3.所有对象共享一份静态成员数据
class Students01{
public:static int s_a; // 静态成员变量int s_b;
};int Students01::s_a = 10; // 设置作用域 在类外进行初始化 目的是为了直接在外面使用 类名::成员名 的 方式进行获取int main()
{// 写法1:通过对象进行访问// Students01 stu1;// cout << stu1.s_a << endl;// Students01 stu2;// stu2.s_a = 20;// cout << stu1.s_a << endl;// 写法2:通过类名进行访问cout << Students01::s_a << endl;return 0;
}
在一个类中,若将一个成员变量声明为static,这种成员称为静态成员变量。与一般的数据成员不同,无论建立了多少个对象,都只有一个静态数据的拷贝。静态成员变量,属于某个类,所有对象共享。
静态变量,是在编译阶段就分配空间,对象还没有创建时,就已经分配空间。