c++中friend class的用法是什么

c++
947
2024/3/14 16:58:02
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C++中,friend class用于声明一个类为另一个类的友元类。这意味着友元类可以访问包含它的类的私有成员和受保护成员。友元类可以访问类的私有成员和受保护成员,但不是继承关系,只是单纯的友元关系。

友元类的声明通常在类的定义中,在类的主体中使用friend关键字加上类名来声明友元类。友元类可以访问声明为其友元的类的所有成员,而不管其访问级别是私有、受保护还是公共。

下面是一个友元类的示例:

class A {
private:
    int x;
protected:
    int y;
public:
    A() : x(0), y(0) {}
    friend class B;
};

class B {
public:
    void accessA(A& a) {
        // B类可以访问A类的私有成员和受保护成员
        a.x = 10;
        a.y = 20;
    }
};

int main() {
    A a;
    B b;
    b.accessA(a);
    return 0;
}

在上面的示例中,类B被声明为类A的友元类,因此类B可以访问类A的私有成员x和受保护成员y。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++中boost库安装怎么使用