美文网首页
C++ 友元,关键词friend介绍

C++ 友元,关键词friend介绍

作者: 美玉东番 | 来源:发表于2019-08-17 02:18 被阅读0次

        类(class)在外部不容易访问其私有成员,而友元声明却让这个操作变得如此简单,下来咱们来看看到底怎么个简单法。

友元函数:

        首先,友元函数是一个函数,是指一个类,在内部声明外部普通函数为自己的友元函数,则这个普通函数具备了和这个类的友元关系。这个单向声明的关系,只具备单向的能力,即类声明该函数作为自己友元,通过该函数可以访问该类生成的对象的成员,甚至是私有成员。

        基本介绍,到此结束,下面我们来看看代码的具体实现过程。

友元函数声明

        外部通常无法处理类内私有成员,然声明非成员函数作为自己友元,则具备了处理该类私有成员的权限。实现过程就是在类内声明类外部函数,并在最前端添加friend关键词,作为声明友元的标志。请观察图中代码实现。

函数形参为引用

        值得注意的是,函数形参为引用类型,即函数内部处理需要获取被处理数据地址,而别名引用的操作可以达到这样的目的。

友元声明及函数实现

        观察图,可知类内用friend声明友元函数,并且函数是类外普通函数,通过参数引用形式修改内部私有成员,这就是类和友元函数的具体定义过程了。

友元函数的作用

        有前面的代码中,我们知道友元函数修改并打印了类的私有成员变量。这是友元函数具备的特有能力。黄色警示意为必须类内声明友元才能处理类内成员,否则是不可行的。

实例化和函数调用

        这点代码就是主函数中的类的实例化,和友元函数的调用,我们知道它修改并打印了类的私有成员变量regVar。

        friend函数的典型用例是友元函数们(多个)可以处理不同(多个)的类的私有成员。

        相似的,也可以声明友元类,通过一个类操作另一个类,不过个人感觉不常用,就不再赘述了,想了解的自己去查一下。

––共享知识,迎接未来,我是美玉东番。

相关文章

  • C++ 友元,关键词friend介绍

    类(class)在外部不容易访问其私有成员,而友元声明却让这个操作变得如此简单,下来咱们来看看到底怎么个...

  • c++ 友元

    在c++中,通过关键字friend声明为友元。友元可以范围与其有好友关系的类中私有成员。友元包括友元函数和友元类。...

  • C++基础-(静态成员和友元)

    C++基础 静态成员和友元 static:标志静态成员 friend:标志友元 静态数据成员用得比较多的场合一般为...

  • C++——友元friend,实践

    一、友元的概念 同类之间是不需要友元的 只有不同类之间需要友元 友元friend可以让类B的对象高效地访问类A的私...

  • 友元(friend)

    友元 友元可以直接拿数据,而不需要通过函数。拿数据的动作就像成员函数一样。 相同 class 的各个 object...

  • 【C++】C++学习笔记之五:友元

    在类中有一种函数声明前加friend关键字的函数声明方式,这种函数被称为C++类的友元函数 1. 友元的作用——破...

  • C++笔记2

    1.Josephus数小孩 2.静态成员 友元1(friend) 友元2

  • C++中的友元

    友元的介绍 什么是友元?友元是C++中的一种关系友元关系发生在函数与类之间或者类与类之间友元关系是单项的,不能传递...

  • C++ 类友元函数

    /* 友元函数可以访问类的 private 和 protected 成员。 */ /* class friend ...

  • 2001.C++BASE-friend(友元)

    转:关于C++中的友元函数的总结 1.友元函数的简单介绍 1.1为什么要使用友元函数 在实现类之间数据共享时,减少...

网友评论

      本文标题:C++ 友元,关键词friend介绍

      本文链接:https://www.haomeiwen.com/subject/jdzcsctx.html