C++基础 -28- 友元

友元用于访问类中的所有数据成员

类中的私有成员,类外不可访问
C++基础 -28- 友元_第1张图片
定义友元的格式(友元函数必须要在类内,声明)
在这里插入图片描述friend void show(person &b);

使用友元访问类的所有成员
C++基础 -28- 友元_第2张图片

#include "iostream"

using namespace std;

class person
{
    public:
    int a;
    private:
    int b;
    int c;
    int d;
    friend void show(person &b);
};

void show(person &b)
{
    cout << b.a << endl;
    cout << b.b << endl;
    cout << b.c << endl;
    cout << b.d << endl;
}

int main()
{
    person a;
    cout << a.a << endl;
    cout << a.b << endl;
    cout << a.c << endl;
    cout << a.d << endl;
}

友元不能继承
如果函数接口需要访问派生的所有成员,需要再次声明
C++基础 -28- 友元_第3张图片
C++基础 -28- 友元_第4张图片

你可能感兴趣的:(C++,c++,开发语言)