C++的友元函数和友元类

友元函数

        在c++中对类的成员设置了保护,如private和protected是不允许外部访问的,有时候有一个外部函数就是需要访问,为了解决这个问题,c++开了个后门,就是友元函数,友元函数就是将外部函数在类中进行申明,声明时前面添加friend关键字,将其声明为类的友元函数后就可以任意访问类中成员。示例如下:

class person
{
       public:
              string name;
       private:
              int age;
              friend void print(person p);  //将print声明为友元函数
};

void print(person p)
{
       cout << "name: " <<p.name ;  //调用对象的public权限成员
       cout << "  age: " <<p.age ;   //调用对象的private权限成员
}

        友元函数的声明位置不限制,可以是在public也可以是在private和protected。

        友元函数是不带this指针的,所以不能直接访问类中的变量,只能通过形参传参访问。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值