https://github.com/leozhang1/QtInterpreter这个链接 unaryopnode.h代码 展示
时间: 2023-09-29 16:03:40 浏览: 145
以下是 `unaryopnode.h` 的代码:
```cpp
#ifndef UNARYOPNODE_H
#define UNARYOPNODE_H
#include "exprnode.h"
class UnaryOpNode : public ExprNode
{
public:
UnaryOpNode(Token& op, ExprNode* expr);
virtual ~UnaryOpNode();
virtual Type getType(SymbolTable& symTab);
virtual int getIntValue(SymbolTable& symTab);
virtual double getDoubleValue(SymbolTable& symTab);
virtual std::string getStringValue(SymbolTable& symTab);
private:
Token m_op;
ExprNode* m_expr;
};
#endif // UNARYOPNODE_H
```
`UnaryOpNode` 是一个继承自 `ExprNode` 的类,表示一元运算。构造函数接收一个操作符 `op` 和一个表达式 `expr`。在实现中,该类重载了父类的 `getType()`、`getIntValue()`、`getDoubleValue()` 和 `getStringValue()` 方法,用于返回该一元运算节点的类型和值。私有成员变量包括操作符 `m_op` 和表达式 `m_expr`。
具体实现可以参考该文件的其他代码和 `exprnode.h` 的实现。
阅读全文