【发布时间】:2013-02-14 02:26:02
【问题描述】:
我正在研究设计模式。我不确定如何在 C++ 中实现责任链模式。我正在使用 Argo 工具从我的图表 生成我的代码。
在此图中,Oracle 类是一个“客户端”。 Oracle.cpp 构造方法有下一行
#include "Oracle.h"
Oracle::Oracle(){
Validation v;//Here
}
在这里我得到“错误:'验证'没有在这个范围内声明”。我的问题:是否有必要创建从 Oracle 到验证的 UML 关系“依赖关系”?或者我将如何解决这个错误?
【问题讨论】:
-
您是否将 Validation.h 包含到 Oracle.cpp 中?
-
您的问题似乎是关于使用 ArgoUML,而不是关于责任链模式。也许你应该改变标题。
-
@Deamonpog not 我没有在 Oracle 中包含 Validation.h,因为这会修改模式责任链的 UML 图。
-
@Ergwun 我认为这个问题与工具无关。
-
那么Oracle.cpp将无法获取数据类型名称
Validation,并且会一直报编译错误。自动生成的代码异常是这样的:P。至少在顶部放上class Validation;之类的东西。
标签: c++ design-patterns chain-of-responsibility argouml