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

avatar
作者
筋斗云
阅读量: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。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!