解决循环依赖关系,其中每个依赖结构访问它的方法

MVT*_*VTC 5 c++

我该如何解决以下类型的循环依赖?

//A.hpp
#include "B.hpp"

struct A {
    B b;
    int foo();
};

//A.cpp
#include "A.hpp"

int A::foo{
    b.fi(*this);
}


//B.hpp
struct A;

struct B {
    int fi(const A &a);
};

//B.cpp
#include "B.hpp"

int B::fi(const A &a){
    if(a.something()) 
        something_else();
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*had 5

远期声明AB.hpp,你有,,然后包括A.hppB.cpp.这就是前瞻性声明的用途.