static、const修饰、Mutable作用、友元概念

本文详细介绍了C++中static的作用,包括修饰局部变量、全局变量和类的成员,以及static成员的访问方式。接着讲解const修饰类成员的规则,包括常量成员的初始化和常函数。此外,还解释了mutable关键字如何允许const成员函数修改数据成员。最后,阐述了友元的概念,分类及其在解决访问权限问题上的应用,并强调了友元可能带来的封装性破坏问题。

1、static修饰类的成员

static的作用:

(1)修饰局部变量,延长了局部变量的生命周期

(2)修饰全局变量,限制了全局变量的作用域

(3)修饰函数,限制了这个函数的作用域

static也可以修饰类的成员:数据成员,成员函数

什么时候会选择使用static修饰类的数据成员、成员函数

1-1、static修饰类的数据成员

要在类内做声明,类外做定义以及初始化

如果只在类内做声明,就会出现以下错误

 解决方案:类的外部定义以及初始化。

 类的静态的数据成员只会被定义一次,只分配一次内存空间,也就是说创建对象的时候并没有给它额外分配内存空间。说明这个静态的数据成员属于类,不属于具体的某一个对象,但是类的所有的对象都可以访问。

如何访问:(1)通过已经存在的对象可以访问:对象名+.+全局变量的名字

(2)通过类名可以访问:类名::全局变量名;

1-2、static修饰类的成员函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值