阅读量: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。