//设计模式之解释器模式
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
class Context
{
public:
char input[30];
char output[30];
};
class Expression
{
public:
virtual const char* Interpret(char* cont) = 0;
};
class RealExpression :public Expression
{
public:
const char* Interpret(char* cont)
{
return "David, ";
}
};
class NonterminalExpression :public Expression
{
public:
const char* Interpret(char* cont)
{
return "Nice to meet you";
}
};
int main()
{
Context* context = new Context();
strcpy(context->input, "David 很高兴见到你");
Expression* RE = new RealExpression();
Expression* NE = new NonterminalExpression();
cout << "翻以前: " << context->input << endl;
cout << "翻译后";
cout << RE->Interpret(context->input) << NE->Interpret(context->input) << endl;
system("pause");
return 0;
}
不太懂。。。