C++友元函数和友元类(C++ friend关键字)

2021/9/10 14:05:08

本文主要是介绍C++友元函数和友元类(C++ friend关键字),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

友元  friend
    我们知道私有成员只能自己可以访问,这样一刀切很不灵活。
    因此,友元机制 是对 类的封装性的一个补充。


    一个类允许与它有 友元 关系的 函数 或类  直接访问其私有或保护信息。
    友元分两种:
        (1)友元函数
        如果一个函数想直接访问一个类的私有/保护成员,那么这个类只需要向编译器做友元
    声明即可:
        friend  函数返回类型  函数名(参数列表);
        注意:  友元函数必须在类里声明,在类外实现!

        (2)友元类
        如果一个类A中所有的成员函数都想去访问一个类B的隐藏信息,那么只需要在类B做一个
    友元类的声明即可。
            friend class 类名;

        注: 友元关系是单向的:如果类A是类B的朋友,但不代表类B是类A的朋友。
            友元关系是不可传递的:如果类A是类B的朋友,类B是类C的朋友,但不代表类A和类C是朋友。
eg.

class A
{
    int familyNUM;
public:
    A(int x)
    {
       familyNUM=x; 
    }
     friend void check(A &a); //友元函数声明
};

void check(A &a)
{
    cout << a.familyNUM <<endl;
}

int main()
{
    A a(1);
    check(a); //输出  1
}



这篇关于C++友元函数和友元类(C++ friend关键字)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程