静态成员
- 静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员
静态成员分为:
静态成员变量
所有对象共享同一份数据
在编译阶段分配内存
类内声明,类外初始化
静态成员函数
所有对象共享同一个函数
静态成员函数只能访问静态成员变量
代码示例:
#include <iostream>
using namespace std;
//静态成员函数
//* 所有对象共享同一个函数
//*
//静态成员函数只能访问静态成员变量
class Person
{
public:
//静态成员函数
static void func()
{
m_A = 100; //静态成员函数访问 静态成员变量
//m_B = 200; //静态成员函数 不可以访问非静态成员变量,无法区分到底是那个对象
cout << "static void func调用" << endl;
}
static int m_A; //静态成员变量
int m_B; //非静态成员变量
private:
static void fun2()
{
cout << "static void func2调用" << endl;
}
};
int Person::m_A = 0;
void test01()
{
//1.通过对象访问
Person p;
p.func();
//2.通过类名访问
Person::func();
//Person::func2();类外访问不到私有静态成员函数
}
int main()
{
test01();
return 0;
}
欢迎关注微信公众号:黑马金牌编程