C ++遇到了解决循环依赖的设计问题

时间:2016-01-26 08:34:08

标签: c++ visual-c++

我来自JAVA背景,因此以下情况给我一个问题。

班级A.h

class B;
Class A{
  public:
  B* bInstance;

}

和另一堂课B.h

#include "A.h"
Class B{
   public:
    A instanceA;
    B(A& a);
    void foo();
}

事情是,现在事实证明我不能使用A类的B类foo方法。我该如何处理?这是由于糟糕的设计决定吗?

我做出这个决定背后的理由是实施B的不同子类,他们将以不同的方式改变A类成员的相同参数。

2 个答案:

答案 0 :(得分:1)

是的,你可以。在 A.cpp 文件中。

答案 1 :(得分:1)

您必须在B.h中加入A.cpp。然后你可以调用B的方法。