C++静态成员

11 篇文章 0 订阅

前言

静态成员就是在成员变量和成员函数前加上关键字static,称为静态成员

静态成员分为:

  • 静态成员变量
    • 所有对象共享同一份数据
    • 在编译阶段分配内存
    • 类内声明,类外初始化
  • 静态成员函数
    • 所有对象共享同一个函数
    • 静态成员函数只能访问静态成员变量

1.静态成员变量

1.1静态成员的声明

在这里插入图片描述
静态成员变量相比于普通成员变量而言,就形式上,类型说明符前面加上一个 static。但是,声明一个静态成员变量,这还不够,还要在类的外面进行初始化。
在这里插入图片描述

1.2静态成员变量的特点

  • 1 在编译阶段分配内存
  • 2 类内声明,类外初始化
  • 3 所有对象共享同一份数据
  • 静态成员变量的生命期不依赖于任何对象,为程序的生命周期
  • 静态成员变量需要在类外单独分配空间

静态成员变量有一个非常重要的特点,就是所有对象共享同一片内存。

小结 :静态成员变量存储在静态区(全局区),是在编译阶段就已经存在的,它的存储位置和类的存储位置不一样。

1.3静态成员变量访问方式

由于静态成员变量是所有对象共享的,说明它不单独属于某一个对象,正因如此,静态成员变量的访问方式有两种

1.3.1 通过类名进行访问

在这里插入图片描述

1.3.2 通过对象进行访问

在这里插入图片描述

提醒:普通成员变量是不可以通过类进行访问的,自己想想为什么

1.4静态成员变量具有访问权限

在这里插入图片描述

如上图所示:
m_A 这个静态成员变量是可以通过类名或是对象进行访问,但m_B静态成员变量只能通过类内进行访问。

2.静态成员函数

2.1静态成员函数的定义

静态成员函数相比于普通成员函数,形式上,就是在类型说明符前加上static
在这里插入图片描述

2.2静态成员函数的特点

  • 程序共享同一个函数
  • 静态成员函数只能访问静态成员变量
  • 静态成员函数不属于某一个对象

2.3静态成员函数的调用方式

2.3.1 通过类名进行调用

在这里插入图片描述

2.3.2 通过对象进行调用

在这里插入图片描述

2.4静态成员函数具有访问权限

在这里插入图片描述
如果一个静态成员函数不是在public访问权限下,是不可以通过类名或是对象对其进行调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值