我正在制作一个表达式类:
template<typename T, typename U>
class expression
{
public:
expression(T vala, U valb, oper o){val1 = vala; val2 = valb; op = o;}
operator bool{return(val1 op val2);}
private:
T val1;
U val2;
oper op;
};
正如你所看到的,这有点伪代码,因为我需要一个操作符类。我最初的想法是创建一个包含所有可能的运算符的数组,然后通过字符串对其进行转换,但是由于运算符数量众多,以及如何将其转换为字符串,除了通过二维数组之外,这不起作用,其中 n[0][0] 具有第一个运算符,而 n[0][1] 具有该运算符字符串。
有人对向我的表达式类添加运算符值有任何建议吗?