静态成员变量和静态成员函数

本文详细解析了静态成员变量的特点,包括在编译阶段分配内存、多个对象共享数据、通过类名或对象访问以及权限控制。同时介绍了静态成员函数的特性,以及它们与普通成员的不同。通过实例演示了如何使用和访问这些概念。
摘要由CSDN通过智能技术生成
  1. 静态成员变量
      1. 静态成员变量
      2. 编译阶段分配内存
      3. 所有对象共享数据
      4. 通过对象访问 通过类名访问
      5. 有权限控制
  2. 静态成员函数      
    1. 可以访问静态成员变量,不可以访问
    2. 普通成员变量普通成员函数 都可以访问
    3. 静态成员函数也有权限
    4. 可以通过对象访问 也可以通过类型访问
      #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;
      }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值