首页 > 试题广场 >

定义一个类去做简单算术表达式的分析、存储、求值和打印,表达式

[问答题]
定义一个类去做简单算术表达式的分析、存储、求值和打印,表达式由整常数和运算符 +、-、*、/构成。类的公用界面看起来具有下面样子:
class Expr {
  // ...
public:
  Expr(const char*);
  int eval();
  void print();
};
构造函数Expr::Expr()的字符串参数就是有关的表达式。函数Expr::eval()返回表达式的值,Expr::print()在cout打印表达式的某种表达式。程序可能具有下面的样子:
Expr x("123/4+123*4-3");
cout << "x = " << x.eval() << "\n";
x.print();
定义Expr类两次,一次用结点的链接表作为表示,另一次用字符串作为表示。试验以不同方式打印表达式:完全加括号的形式、后缀形式、汇编代码等。

这道题你会答吗?花几分钟告诉大家答案吧!