这个模式常用于正则表达式等
interpreter.h
#pragma once
#include <QDebug>
class CVariable;
class CVarientContext
{
public:
CVarientContext(){}
virtual ~CVarientContext(){}
virtual void addVarient(CVariable* key,int val) = 0;
virtual void removeVarient(CVariable* key) = 0;
virtual void setVarient(CVariable* key,int val) = 0;
virtual int getVarient(CVariable* key) const = 0;
protected:
QMap<CVariable* ,int> m_mapVar;
};
class CDataVarient : public CVarientContext
{
public:
CDataVarient(){}
virtual ~CDataVarient(){}
void addVarient(CVariable* key,int val)
{
m_mapVar.insert(key,val);
}
void removeVarient(CVariable* key)
{
m

这篇博客介绍了如何使用Qt库在C++中实现解释器模式。通过定义抽象表达式类和具体表达式类,结合上下文类,展示了如何解析和执行简单的数学运算,如加法、减法、乘法和除法。
最低0.47元/天 解锁文章
452

被折叠的 条评论
为什么被折叠?



