- 静态成员变量
-
- 静态成员变量
- 编译阶段分配内存
- 所有对象共享数据
- 通过对象访问 通过类名访问
- 有权限控制
-
- 静态成员函数
- 可以访问静态成员变量,不可以访问
- 普通成员变量普通成员函数 都可以访问
- 静态成员函数也有权限
- 可以通过对象访问 也可以通过类型访问
#define _CRT_SECURE_ND_WARNINGS #include<iostream> using namespace std; class Person { public: Person() { } static int m_Age;//加入static就是 静态成员变量,会共享数据 //静态成员变量,在类内声明,在类外进行初始化 //静态成员变量也是有权限的 int m_A; //静态成员函数 //不可以访问 普通成员变量 //可以访问 静态成员变量 static void func() { //m_A = 10; m_Age = 100; cout << "func调用" << endl; } //普通成员函数 可以访问普通成员变量 也可以访问静态成员变量 void myFunc() { m_A = 100; m_Age = 100; } private: static int m_other;//私有权限 在类外不能访问 static void func2() { cout << "func2调用" << endl; } }; int Person::m_Age=0;//在类外初始化实现 int Person::m_other = 10; void text01() { //1.通过对象访问属性 Person p1; p1.m_Age = 10; Person p2; p2.m_Age = 20; cout << "p1=" << p1.m_Age << endl; cout << "p2=" << p2.m_Age << endl; //共享数据 //2.通过类名访问属性 cout << "通过类名访问Age" << Person::m_Age << endl; //cout << "other=" << Person::m_other << endl;//私有权限在类外无法访问 p1.func(); p2.func(); Person::func(); //静态成员函数 也是有作用权限的 //Person::func2();//报错 } int main() { text01; system("pause"); return EXIT_SUCCESS; }
静态成员变量和静态成员函数
最新推荐文章于 2023-06-30 11:08:14 发布
本文详细解析了静态成员变量的特点,包括在编译阶段分配内存、多个对象共享数据、通过类名或对象访问以及权限控制。同时介绍了静态成员函数的特性,以及它们与普通成员的不同。通过实例演示了如何使用和访问这些概念。
摘要由CSDN通过智能技术生成