11 友元函数的使用大全

26 篇文章 3 订阅 ¥9.90 ¥99.00

概述

        我们知道,C++的类具有封装和信息隐藏的特性。一般情况下,我们会封装public的成员函数供用户调用,而将成员变量设置为private或protected。但在一些比较复杂的业务情况下,可能需要去访问对象中大量的private或protected成员变量。如果为这些private或protected成员变量都封装public成员函数,无疑是比较麻烦的,有时候还会影响程序的执行效率。此时,友元函数就派上了用场。

        这就好比我们的房间安装了一个指纹锁,陌生人是无法进入房间内部的。但我们的好朋友有时候需要去一下房间,此时,可以把好朋友的指纹也录入指纹锁里面。这样,好朋友就可以顺利进入房间了。

基本规则

        1、一个类的友元可以是函数(称为友元函数),也可以是另一个类(称为友元类)。

        2、要为一个类声明友元时,需要在类声明中友元函数或友元类的前面加上friend关键字。类中友元的位置没有关系,放在public、protected和private均可。

class CBase
{
    friend class CFriend;                    // 友元类
    friend void FriendFunc(CBase &base);     // 友元函数
public:
    CBase();
    
private:
    void Show();

protected:
    std::string m_strText;

private:
    int m_nNumber;
};

CBase::CBase() : m_strText("CSDN"), m_nNumber(66)
{
    NU
  • 61
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 55
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

希望_睿智

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值