【发布时间】:2014-05-19 03:07:00
【问题描述】:
我有一个带有六个函数的 C++ 程序,它们对文件系统的实现执行操作。我对这些功能没有任何问题——这是一个学校项目,我的问题在于测试方法。我需要接受基本上是函数调用的“命令”——例如“write(test.dat,128KB)”或“read(test.dat)”。
我找到了使用 switch 语句根据输入调用函数的解决方案,但是由于每个命令都有自己的参数,所以在我的情况下这是不可能的。有没有办法将用户输入转换为函数调用?我能想到的唯一方法是解析字符串并提取要调用的函数并使用 switch 语句来调用该函数,然后分别提取参数并将它们传递给函数 - 但这似乎效率低下。是否还有一种完全不同的更好的方法来做到这一点?
【问题讨论】:
-
这是一个设计问题。有一些设计模式旨在专门解决这些问题...策略是我想到的一种模式...
标签: c++ command-line command user-input function-call