一段时间以来一直在使用解决方案...问了第一个问题。 (不确定这是否是正确的场所)。我陷入了设计问题。

我有3个班级:用户,策略和沟通者。

我希望用户有一个指向Communicator的指针,并在必要时调用函数。

我希望用户有一个策略类的列表,并在必要时调用策略的功能。

我希望Communicator拥有一个Strategy类的列表,以及一个指向User的指针,并在必要时调用这些函数。

如果有帮助,Communicator只是套接字连接周围的包装器,它可以侦听来自客户端的消息并将它们发送给用户或策略(以适当的方式为准)。它还包含一个功能Send(string message),该功能将消息从“用户和策略”发送到客户端。

问题是我无法编译,因为头文件最终彼此包含在内。
任何想法将不胜感激!

最佳答案

前瞻性声明是您的朋友。

Strategy.h:

class User;
class Communicator;

class Strategy {
    /* Definition of Strategy, restricted use of User and Communicator */
};


Strategy.cpp:

#include "Strategy.h"
#include "User.h"
#include "Communicator.h"

/* Full use of all three classes */

10-04 20:43