添加需要重构的部分
添加需要重构的注释
这是第二个版本，可以在运行时，改变行为，其实如果从命令行中解析信息的话，我觉得C++的动态性还是不错的