在C++中,是没有办法在一条语句中声明多个friend类的。每个类只能在自己的声明中声明友元类。友元关系是一对一的关系,表示两个类之间的互访权限。
在C++中,可以使用friend
关键字来声明友元类。当一个类被声明为另一个类的友元类时,该友元类可以访问声明它为友元的类的私有成员。
下面是一个示例代码:
class A {
friend class B; // 声明类B为类A的友元类
private:
int privateDataA;
public:
A() {
privateDataA = 0;
}
};
class B {
public:
void accessA(A& obj) {
obj.privateDataA = 10; // 可以访问类A的私有成员
}
};
int main() {
A a;
B b;
b.accessA(a);
return 0;
}
在上面的示例中,类B被声明为类A的友元类,因此类B可以访问类A的私有成员privateDataA。在accessA
函数中,通过引用传递类A的对象,可以修改其私有成员privateDataA的值。
需要注意的是,每个类只能在自己的声明中声明友元类,不能在其他类的声明中声明友元类。因此,在一条语句中声明多个friend类是不允许的。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云