C++ で L-System 書き換えエンジンを実装するためのデータ構造を設計しようとしていますが、どこにも到達できないようです :(.
シンボル (文字) の文字列を格納する必要があります。シンボルにはいくつかのタイプがあります (LSystem のアルファベットによって指定されます)。タイプ「A」、「B」、「C」があるとしましょう。現在、シンボルの各タイプは異なるパラメータを持つことができます。たとえば、タイプ A のシンボルには距離があり、シンボル B には角度があります。C シンボルにはパラメーターがありません。文字列は "ABABC" のようになります。
次に、文字列を繰り返し処理し、各タイプのシンボルにも関連付けられているいくつかのアクションを実行する必要があります。「A」は「「距離」の長さの線を引く」(距離は A のパラメータ)、B は「「角度」度を回す」、C はペイントを終了することを意味します。
クラス Symbol と各シンボル タイプ (クラス SymbolA、クラス SymbolB、クラス SymbolC) の子を作成しようとしましたが、文字列の作成方法がわかりません。型キャストなどは避けたいと思います。
同様の問題を抱えている人、または私を助けることができるアイデアを持っている人はいますか?