zoukankan      html  css  js  c++  java
  • C++ friend关键字

      友元:友元函数 友元类。

      友元函数:不属于任何类,只是在类中声明一下(可以放在 private 或者 public,没有区别),告诉这个类,这个函数是你的朋友,当然朋友不是白当的:这个函数可以访问你的私有成员变量! 毫无疑问,这破坏了类的封装性,可能出现安全问题,那又怎么样~ 毕竟还是朋友。

      友元类:相当于使友元类里面所有的函数都变成了另一个类的友元函数。

      例如,以下语句说明类B是类A的友元类:

    class A{
    

    public:
    friend class B;

    };
    类B的所有成员函数都是类A的友元函数,能存取类A的私有成员和保护成员。

          使用友元类时注意:   (1) 友元关系不能被继承。
     

      (2) 友元关系是单向的,不具有交换性。若类B是类A的友元,类A不一定是类B的友元,要看在类中是否有相应的声明。

      (3) 友元关系不具有传递性。若类B是类A的友元,类C是B的友元,类C不一定是类A的友元,同样要看类中是否有相应的申明 

      (4) 友元函数并不是类的成员函数,因此在类外定义的时候不能加上class::function name

       突然学到这个是因为给帮弟弟写homework,c++运算符重载用到的。

      

  • 相关阅读:
    python3 urllib 类
    python 金角大王博客园学习地址
    配置文件一mapper.xml
    配置文件一mybatis-config.xml
    配置文件一applicationContext.xml
    类文件路径一classpath
    配置文件一web.xml
    日志框架一logback配置和使用
    SpringBoot + redis实现分布式session共享
    SpringBoot集成Redis 一 分布式锁 与 缓存
  • 原文地址:https://www.cnblogs.com/luntai/p/5592649.html
Copyright © 2011-2022 走看看