美文网首页
C++ 友元

C++ 友元

作者: Mr_约科 | 来源:发表于2020-03-28 12:22 被阅读0次
    小项 备注
    时间 2020 年 3 月 28 日
    修改时间 2020 年 3 月 28 日
    城市 北京市房山区
    天气
    心情 你猜

    0. 友元前世

    类的 私有成员 只能在 自己类的成员函数内部访问,如果想在别处访问此类的私有成员,只能通过此类提供的接口(也是一些成员函数,比如:Get()、Set() 等) 间接进行。

    如果在这个 “ 类的成员函数外部 ” ,想访问到这个类的 私有成员。于是,就有了 友元(friend) 的语法。

    这相当于是说:朋友是值得信任的,所以可以对他们公开一些自己的隐私。

    下图展示了友元的分类。

    友元分类

    1. 友元全局函数

    不是 某个类 的成员函数,是一个类外函数,但是可以访问类的 所有成员(成员函数、成员属性)

    语法:

    friend  返回值类型  函数名(参数表);
    
    

    2. 友元成员函数

    使类A的 成员函数 成为类B的友元函数(注意:在类B中声明,且 类A的这个 成员函数 不能是私有的),这样类A的该成员函数就可以访问类B的 所有成员(成员函数、成员属性)

    语法:

    friend  返回值类型  其他类的类名::成员函数名(参数表);
    
    

    3. 友元类

    类A是类B的友元类(注意:在类B中声明),则A就可以访问B的 所有成员(成员函数、成员属性)【注意:类A、类B 无继承关系】
    语法:

    friend  class  类名;
    
    

    相关文章

      网友评论

          本文标题:C++ 友元

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