私は表現クラスを作るに取り組んでいます:私は演算子クラスを必要とするので"演算子"変数の作成方法は? (C++)
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;
};
あなたが見ることができるように、これは、やや擬似コードです。私の最初の考えは、すべての可能な演算子の配列を作成し、それを文字列に変換することでしたが、演算子の数が膨大で、2次元配列以外の文字列に変換する方法n [0] [0]には最初の演算子があり、n [0] [1]には演算子文字列があります。
私の表現クラスに演算子の値を追加する提案はありますか?
は、なぜあなたはのtypedefを使用しなかったです:アンは、式を作成するには? –
私はtypedefを使って、OPが式コンストラクタに渡す 'oper'型を定義しました。私は、それが2つのパラメータを取り、boolを返す関数へのポインタだと言っています。 – ChrisW