静态成员概念:
就是在成员变量和成员函数前加上关键字static,称为静态成员
静态成员分类:
1.静态成员变量:所有对象共享同一份数据;在编译阶段分配内存;类内声明,类外初始化
2.静态成员函数:所有对象共享同一个函数;静态成员函数只能访问静态成员变量
#include<iostream>
using namespace std;
#include<string>
//类对象作为类成员
class Person
{
public:
//静态成员函数
static void func()
{
m_A = 100;//静态成员函数 可以访问 静态成员变量
//m_B = 100;//静态成员函数 不可以访问 非静态成员变量
cout << "static void func 调用" << endl;
}
//静态成员变量
static int m_A; //类内声明
int m_B;//非静态成员变量
//静态成员函数也是有访问权限的
private:
static void func2()
{
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();
system("pause");
return 0;
}