friend class (c++)(继承)

本文详细介绍了C++中的友元概念,包括友元类和友元函数如何允许其他类或函数访问私有成员变量,以及具体的声明方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++中的friend关键字其实做这样的事情:在一个类中指明其他的类(或者)函数能够直接访问该类中的private和protected成员

class A
{
   private:  int a;
   public: 
    const int getx()const {return a;}
    friend class B;//这样B可以访问A中的private或protected
}

这属于友元类(friend classes)

还有一种是友元函数(Friend Functions):友元函数和友元类的作用是一样的,它允许一个函数不需要通过其public接口就能够访问到类中的private和protected成员变量

声明方法:

friend return_type(int/double....) class_name(类的名字)::function(args)(函数名称);


class A 
{
    private: 
       int data;
       int key;

    friend int B::find(); // Only B's find function has access
};
这样find方法就可以直接访问A中的私有成员变量了,而B中的其他的方法去不能够直接的访问A的成员变量。(这就是友元类和友元函数的区别)




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值