C++:友元

不打扰是莪最后的温柔 提交于 2019-11-30 06:28:24

普通友元函数

仅是在类里friend了一个外部函数,并在外部定义了它

友元类

在class a1里声明了友元类(friend class a2)不需要再#include“a2.h”, 在class a2里要调用class a1的成员,需要进行#include“a1”

注:不能对两个类所在的头文件相互调用

类的友元成员函数(比较复杂)

  • 先将会被声明为友元的类class a2进行编写,对它的内部函数(会被声明为类的友元成员函数)进行声明,不定义,注意需要对class a1;进行声明可能会在该内部函数声明中使用
  • 将class a1进行编写,因为要声明类的友元成员函数,需要#include"a2" 在类里 friend class::func();
  • 由于不能相互调用,所以在class a2.cpp中进行#include"a1.h", 在对各个a2类中的成员函数进行定义

详情点击这里

补充:
若是本身想调用自己的友元函数,一定要记住友元函数的声明只是一个赋予权限的过程,并非真正的声明
所以想在本身中调用,必须先真正声明该友元

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!