cs中的控制台是不是很cool
输入1个命令就可以执行某个操作(有点像回到了dos的时代了 呵呵~)
有人会想 不如直接实现1个GUI
但是要实现1个GUI可能会比实现1个控制台要难得多
有时在功能上和速度上都不如控制台
输入1个命令就可以执行某个操作(有点像回到了dos的时代了 呵呵~)
有人会想 不如直接实现1个GUI
但是要实现1个GUI可能会比实现1个控制台要难得多
有时在功能上和速度上都不如控制台
1个控制台
首先要能把信息(就是1大堆字符串)显示出来
最简单的方法就是用cout输出
也可以就直接从窗口中显示
但是每个人实现的方法都不同
我也不能硬性规定什么(如果这个搞得不好就会增加耦合性)
所以我把这部分的内容写成1个接口函数
void PrintLog( const std::string& str, unsigned long LogLevel );
参数是1个字符串和1个LogLevel
LogLevel 的作用就是比较这个字符串的重要程度
可能是错误信息哟~
这样就可以用不同的方发来显示信息
至于怎样显示
就留给读者去干了
接着就是输入的命令
当然是用字符串
但是我们同常都是1个个字符输入(废话=。=)
但是程序内部调用就可以直接用字符串啦
所以这里就要实现两个函数了
void InputCommand( const std::string & strCommand );
void InputCommand( char Command );
最后就是执行命令
怎样执行??
当然是某个调用函数啦
但首先就是要把函数和命令加载到1个容器里
这个容器最好是用hash_map
好处就是寻找是速度快
缺点就是插入时慢
我们需要的就是执行命令是要快
而插入通常都是在程序开始时进行的
另1个问题来了
调用函数是普通的函数就容易
但调用的是成员函数就嘛烦多了
有人会想可以继承1个虚基类啊