首页 > 代码库 > 解释器模式
解释器模式
【1】什么是解释器模式?
解释器模式:
【2】解释器模式代码示例:
代码示例:
1 #include <iostream> 2 #include <list> 3 #include <string> 4 using namespace std; 5 6 class Context; 7 8 class AbstractExpression 9 {10 public:11 virtual void interpret(Context *) = 0;12 };13 14 class TerminalExpression : public AbstractExpression15 {16 public:17 void interpret(Context *context)18 {19 cout << "终端解释器" << endl;20 }21 };22 23 class NonterminalExpression : public AbstractExpression24 {25 public:26 void interpret(Context *context)27 {28 cout << "非终端解释器" << endl;29 }30 };31 32 class Context33 {34 public:35 string input, output;36 };37 38 int main()39 {40 Context *context = new Context(); 41 list<AbstractExpression*> lt;42 lt.push_back(new TerminalExpression());43 lt.push_back(new NonterminalExpression());44 lt.push_back(new TerminalExpression());45 lt.push_back(new TerminalExpression());46 47 for (list<AbstractExpression*>::iterator iter = lt.begin(); iter != lt.end(); iter++)48 {49 (*iter)->interpret(context);50 }51 52 return 0;53 }54 // Result:55 /*56 终端解释器57 非终端解释器58 终端解释器59 终端解释器60 */
Good Good Study, Day Day Up.
顺序 选择 循环 总结
解释器模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。