北邮期末C++考试题,求解题思路?
我的问题是,分析表达式,并求值时应该如何下手?求思路。。
如何判断括号,以及运算优先级等。。
谢谢大家
题目:定义一个类,用来分析、存储、计算、打印某个算术表达式,该算术表达式仅仅包含整数常量及+ - * / ()运算符,对该类的公用界面有如下所示:
class Expr{
public:
Expr(char*);
int eval();
void print();
}
其中,构造函数Expr::Expr()的string类型参数即为所要求值的表达式,eval负责求值,print负责打印。
主程序应该如下:
Expr x(""123/4+123*4-3)");
cout <<"x="<<x.eval()<<"\n"
x.print();
要求用链表存储表达式每个字符。