c++编写多个类。A这个类的友元类BB控制A。
以下是一个示例代码:
#include <iostream>
using namespace std;
class A; // 声明类A,使得类B可以访问类A的私有成员
class B {
public:
void controlA(A& a); // 在类B中定义控制类A的函数
};
class A {
friend class B; // 声明类B为类A的友元类
private:
int num;
public:
A(int n=0) : num(n) {}
};
void B::controlA(A& a) { // 在类B中实现控制类A的函数
a.num += 1;
}
int main() {
A a(10);
B b;
cout << "原始值:" << a.num << endl;
b.controlA(a);
cout << "控制后的值:" << a.num << endl;
return 0;
}
在上面的代码中,我们定义了两个类A和B。类B被声明为类A的友元类。类A中有一个私有成员变量num。在类B中,我们定义了一个控制类A的函数controlA。该函数可以访问类A中的私有成员变量num,从而可以控制类A的行为。
在主函数中,我们创建了一个类A的对象a和一个类B的对象b。我们首先输出了类A对象的原始值,然后调用类B对象的控制函数来改变类A对象的值。最后,我们再次输出了类A对象的值,以验证控制函数是否有效。
输出结果为:
原始值:10
控制后的值:11
``
原文地址: https://www.cveoy.top/t/topic/ffqR 著作权归作者所有。请勿转载和采集!