静态成员

  • 静态成员就是在成员变量和成员函数前加上关键字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;
}

欢迎关注微信公众号:黑马金牌编程

C++静态成员_c++