一段时间以来一直在使用解决方案...问了第一个问题。 (不确定这是否是正确的场所)。我陷入了设计问题。
我有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 */