类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。
参考 菜鸟教程
码云:https://gitee.com/hinzer/my-notes-of-C_plus
思维导图
代码
#include "iostream"
using namespace std;
class A
{
friend class B;
public:
A()
{
num = 10;
}
friend void say_num(A a); //声明友元函数
private:
int num; //类A的私有成员变量
};
class B:public A
{
public:
B()
{
cout << num << endl;
}
};
void say_num(A a)
{//say_num不是类的成员函数。 是类A的友元函数
cout << "say num:" << a.num << endl;
}
int main(int argc, char const *argv[])
{
B p;
A a;
say_num(a);
return 0;
}
编译运行