静态成员涉及到的关键字尾static
静态成员变量要在类外初始化 去掉static关键字+类型+类名::+变量名
静态成员变量不属于任何对象 所有对象共享一份
静态成员可以不通过对象直接访问 类名::+成员名
静态成员依旧受访问修饰符的约束
静态成员函数不允许使用非静态成员 静态成员函数没有this指针
cpp
#include<iostream>
using namespace std;
class AA
{
public:
static int a;
int b;
public:
void Show()
{
cout << a << endl;
}
void SS()
{
a = 200;
}
static void ABC();
};
int AA::a=100;//不赋值默认为0
void AA::ABC()
{
//cout << a << " " << b << endl;不能用b
cout << "aa" << endl;
}
int main()
{
AA aa;
aa.SS();
aa.Show();
cout << sizeof(aa) << endl;//静态成员变量属于类,不属于某个具体的对象,即使创建多个对象,也只为静态成员变量分配一份内存
AA bb;
bb.a = 10;
aa.Show();
cout << AA::a << endl;
//cout << AA::b << endl;//不行
AA::ABC();
aa.ABC();
return 0;
}