c++类的友元、类的静态成员

一些理解:

类的友元:关键字friend

弊端:使得被该类隐藏的一些数据成员在类的外部也可见,破坏了类的封装性;

好处:在某些特定的场合下可以减少开销,提高程序运行效率。

  1. 友元函数:在类的内部声明某个外部函数为该类的友元,即给这个外部函数授权,表示该外部函数有权访问该类中的私有或保护的数据成员,在使用中,该外部函数必须要有参数,且参数必须要有该类类型,以便通过该类实例化的对象对私有数据成员进行访问,一般情况下,将该参数声明为常引用,即const A &a,因为引用具有双向传递性,如果不想改变引用本身则声明为常引用,确保安全性;
  2. 友元类:在类的内部声明另一个类为该类的友元,即给另一个类授权,表示被授权的类有权访问该类中的私有或保护的数据成员,在实际应用中一般针对在另一个类中声明了该类类型的私有数据成员。

类的静态成员:关键字static全局的,随着类的产生而产生,不属于某个实例化对象,非静态成员只属于某个对象。

  1. 静态成员数据:为该类的所有对象共享,整个类的对象共享一个数据成员;声明在类内,定义和初始化在类外,不用对象去调用,通过类名::函数名调用,一般用在记录实例化了多少对象;
  2. 静态成员函数:专门处理静态成员数据,为同一个类的所有对象共有。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值