123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //4.2.8 静态成员
- //静态成员就是在成员变量和成员函数前加上关键字ststic,称为静态成员
- //静态成员分为:
- //⚪静态成员变量
- //->所有对象共享同一份数据
- //->在编译阶段分配内存
- //->类内声明,类外初始化
- //⚪静态成员函数
- //->所有对象共享同一个函数
- //->静态成员函数只能访问静态成员变量
- #if(0)
- #include <iostream>
- class Person
- {
- public:
- //1、所有对象都共享同一分数据
- //2、在编译阶段就分配了内存
- //3、类内声明,类外初始化操作
- static int m_A;
- //静态成员变量也是有访问权限的
- private:
- static int m_B;
- };
- int Person::m_A = 100;
- int Person::m_B = 200;
- void test01()
- {
- Person p;
- //100
- std::cout << p.m_A << std::endl;
- Person p2;
- p2.m_A = 200;
- std::cout << p.m_A << std::endl;
- //std::cout << p.m_B << std::endl 类外访问不到私有静态成员变量
- }
- void test02()
- {
- //静态成员变量 不属于某个对象上,所有对象都共享同一份 数据
- //因此静态成员变量有两种访问方式
- //1、通过对象进行访问
- //Person p;
- //std::cout << p.m_A << std::endl;
- //2、通过类名进行访问
- std::cout << Person::m_A << std::endl;
- }
- int main()
- {
- //test01();
- test02();
- system("pause");
- return 0;
- }
- #endif
|