静态成员就是在成员变量和成员函数前加上关键字static。
静态成员分为:
静态成员变量
1,所有成员共享同一份数据
2,在编译阶段就分配内存
3,类内声明,类外初始化
class person
{
public:
//类内声明
static int m_a;
};
int person::m_a = 100;//类外初始化
静态成员变量不属于某个对象上,因为所有对象共享同一份数据。
因此静态成员有两种访问方式:
int main()
{
person p;
//通过对象进行访问
cout << p.m_a << endl;
//通过类名进行访问
cout << person::m_a << endl;
return 0;
}
静态成员函数
1,所有成员共享同一份数据
2,静态成员函数只能访问静态成员对象
静态函数有两种访问方式:
void test1()
{
person p;
//通过对象进行访问
p.func();
//通过类名进行访问
person::func();
}