C++ C++;循环依赖设计
已经使用解决方案一段时间了。。。提出的第一个问题。(不确定这是不是合适的地点)。我遇到了一个设计问题 我有三门课:用户、策略和沟通者 我希望用户有一个指向通信器的指针,并在必要时调用函数 我希望用户有一个类策略列表,并在必要时调用策略函数 我希望Communicator有一个类策略列表,一个指向用户的指针,并在必要时调用这些函数 如果有帮助的话,通信器只是一个围绕套接字连接的包装器,它侦听来自客户端的消息,并将它们发送给用户或策略(以适当的为准)。它还包含一个函数C++ C++;循环依赖设计,c++,circular-dependency,C++,Circular Dependency,已经使用解决方案一段时间了。。。提出的第一个问题。(不确定这是不是合适的地点)。我遇到了一个设计问题 我有三门课:用户、策略和沟通者 我希望用户有一个指向通信器的指针,并在必要时调用函数 我希望用户有一个类策略列表,并在必要时调用策略函数 我希望Communicator有一个类策略列表,一个指向用户的指针,并在必要时调用这些函数 如果有帮助的话,通信器只是一个围绕套接字连接的包装器,它侦听来自客户端的消息,并将它们发送给用户或策略(以适当的为准)。它还包含一个函数Send(string mess
Send(string message)
,用于将来自用户和策略的消息发送到客户端
问题是我无法编译,因为头文件最终包含了彼此。
任何想法都将不胜感激 < P>不确定您到底想听到什么,但是谈到C++,循环依赖问题是通过使用Booo::Enable SydDyFROXX和Boost::SyrdypTr.< /P>来解决的。
Hth
< P>不确定您到底想听到什么,但是谈到C++,循环依赖问题是通过使用Booo::Enable SydDyFROXX和Boost::SyrdypTr.< /P>来解决的。HTH转发声明是您的朋友 战略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 */
我是你的朋友 战略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 */
您需要使用来避免循环包含标题
请注意,转发声明对如何进一步使用不完整类型有其自身的限制。
对于不完整类型,您可以:
- 将成员声明为指向不完整类型的指针
- 声明接受/返回不完整类型的函数或方法
- 定义接受/返回指向不完整类型的指针(但不使用其成员)的函数或方法
- 使用它来声明成员
- 使用此类型定义函数或方法
- 将成员声明为指向不完整类型的指针
- 声明接受/返回不完整类型的函数或方法
- 定义接受/返回指向不完整类型的指针(但不使用其成员)的函数或方法
- 使用它来声明成员
- 使用此类型定义函数或方法