友元类Friend Class在C++中的定义和用法

分类:知识百科 日期: 点击:0

C++中的友元类(Friend Class)是一种特殊的类,它可以访问另一个类的私有成员。友元类可以被声明为友元类,也可以被声明为友元函数。

定义友元类

要定义一个友元类,可以使用关键字“friend”,并在其后加上类名,如下所示:

class ClassName
{
    friend ClassFriend;
};

在上面的代码中,ClassName类的友元类是ClassFriend。这意味着ClassFriend类可以访问ClassName类的私有成员。

声明友元函数

友元函数也可以被声明为友元类,如下所示:

class ClassName
{
    friend void FunctionName();
};

在上面的代码中,ClassName类的友元函数是FunctionName。这意味着FunctionName函数可以访问ClassName类的私有成员。

使用友元类

友元类可以用来实现类之间的信息共享,以及访问另一个类的私有成员。举例来说,如果有两个类A和B,B类可以被声明为A类的友元类,这样B类就可以访问A类的私有成员。例如:

class A
{
private:
    int a;

public:
    void setA(int n)
    {
        a = n;
    }

friend class B;
};

class B
{
public:
    void printA(A& a)
    {
        std::cout << a.a << std::endl;
    }
};

int main()
{
    A a;
    a.setA(10);
    B b;
    b.printA(a);
    return 0;
}

在上面的代码中,A类的私有成员a可以被B类访问,因为B类被声明为A类的友元类。

友元类是C++中一种特殊的类,它可以访问另一个类的私有成员。友元类可以被声明为友元类,也可以被声明为友元函数。友元类可以用来实现类之间的信息共享,以及访问另一个类的私有成员。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。