以下是一个示例代码:

#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
``
c++编写多个类。A这个类的友元类BB控制A。

原文地址: https://www.cveoy.top/t/topic/ffqR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录