静态成员分为:静态成员变量、静态成员函数;
静态成员变量:
- 所有对象共享同一份数据
- 在编译阶段分配内存
- 类内声明,类外初始化
静态成员函数:
#include<iostream> using namespace std; class Person{ public: //类内声明,静态成员变量也是有访问权限的 static int m_a; void func() { 静态成员函数可以访问静态成员变量 静态成员函数也是具有访问权限的 m_a = 300; cout << "static func()函数调用" << endl; } }; 类外初始化,Person::m_a表明是Person类中的m_a属性 int Person::m_a = 100; test(){ Person p; cout << p.m_a << endl; p.func(); Person p2; p2.m_a = 200; 此时p.m_a也变成了200,说明是共享的一份数据 cout << p.m_a << endl; 静态成员变量也可以通过这样访问 cout << Person::m_a <<静态成员函数也可以通过这样访问 Person::func(); } main() { test(); system(pause"); return 0; }
输出: