目录
1.静态成员是什么
静态成员就是在成员函数和成员变量前加上关键字static
2.静态成员
1.静态成员变量
代码示例:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
class person
{
public:
static int m_a;//3.类内声明
};
int person::m_a = 100;//3.类外初始化
//person作用域内的m_a
int main(){
person p1;
person p2;
cout << p1.m_a << endl << p2.m_a << endl;
p1.m_a = 200;//1.所有对象共享一份数据
cout << p1.m_a << endl << p2.m_a << endl;
return 0;
}
除了通过对象进行访问,还可以通过类名进行访问
cout << person::m_a;
2.静态成员函数
代码示例:
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
class person
{
public:
static void fun(){
m_a = 200;//静态成员函数访问静态变量
//b = 20;//非静态成员变量,不可访问
//无法区分是哪个对象的属性b
cout << "静态函数调用" << endl;
}
static int m_a;
int b;
};
int person::m_a = 100;
int main(){
person p;
p.fun();//通过对象
person::fun();//通过类名
return 0;
}
除了通过对象进行访问,还可以通过类名进行访问
person p;
p.fun();//通过对象
person::fun();//通过类名
访问权限
无论是静态成员变量还是静态成员函数都是有访问权限的,可以把它们的访问权限设置为private,这样外界就访问不到了