• 友元关系


    在封装中C++类数据成员大多情况是private属性;可是假设接口採用多參数实现肯定影响程序效率。然而这时候假设外界须要频繁訪问这些私有成员,就不得不须要一个既安全又理想的后门”——友元关系;

    C++中提供三种友元关系的实现方式,友元函数、友元成员函数、友元类。

    友元函数:既将一个普通的函数在一个类中说明为一个friend属性。其定义(大多数会訪问该类的成员)应在类后;

    友元成员函数:既然是成员函数,那么肯定这个函数属于某个类,对了就是由于这个函数是另外一个类的成员函数。有时候由于我们想用一个类通过一个接口去訪问另外一个类的信息,然而这个信息仅仅能是被它授权的类才干訪问;那么也须要用friend去实现。这个概念仅仅是在声明的时候稍有变化。

    友元类:友元类声明会将整个类说明成为还有一个类的友元关系;和之前两种的差别是集体和个人的差别。友元类的全部成员函数都能够是还有一个类的友元函数;

    值得注意的是友元关系是单向的,有点像我们恋爱中出现的单相思 O(∩_∩)O,单向关系就是说假设A被说明成B的友元关系,那么仅仅能说AB的友元。并不代表BA的友元;其次在多数情况下友元关系的函数都会訪问它被说明中类的成员,这时候应该将函数定义在类的后面;

  • 相关阅读:
    易耗品管理 第三四表 查询的存储过程
    [zz]使用vc编译libsvm
    程序调试小bug
    Ubuntu下安装配置OpenNI, OpenCV
    关于Linux下使用OpenCv读取视频打不开的问题
    jQuery实现图片点击放大
    关于 QtDBus 的种种
    javascript计时器的实现
    [QT]没有选择Debug构建方式.为文件的某行设置断点可能会失败
    linux firefox 不显示英文的解决
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/7073630.html
Copyright © 2020-2023  润新知