算術エバリュエーターを作成するには、パラメーターに文字列を取り、文字列に応じて異なる型の変数を返す Factory を作成する必要があります。
例:
TypeFactory.make("int") return int i=0;
TypeFactory.make("float") return float f=0;
私は多くの異なる種類の実装を考えましたが、どれもうまくいかないようです:
ファクトリによって返されるクラス Type とその子 Float および Int を作成できますが、クラスの値を一般的な方法 (Type.getVal() など) で取得する方法はありません。 、そのため、プログラムの残りの部分では使用できませんでした)
質問が明確であることを願っています(私にとっては明確ではありません!)
誰にもアイデアはありますか?ありがとう
編集:
この質問は理解しがたいので、私がしなければならないことをより一般的な方法で説明します。
目標は、ファイルから算術式を評価することです。例:
int a;
float b;
float c;
a=1;
b=6;
c=a+b;
それは私のファイルです。私のプログラムは、これらの式から Tree を構築します。そのために、複合パターンと訪問者パターンを使用します。しかし、私の問題は、ビジターが操作を行うときにどの変数がどのタイプであるかを事前に区別し、適切なタイプの結果を得ることができるようにするために、各タイプを区別する必要があることです。