非常に基本的な式パーサーを作成しましたが、拡張可能にして、ユーザー定義の式タイプを解析できるようにしたいと考えています。たとえば、解析中に文字 に遭遇した場合、<
この文字で始まる式の解析に使用されるクラスのインスタンスを作成したいとします。
2 つの質問があります。
文字を静的メソッド ポインターに関連付けるにはどうすればよいですか?
クラス コンストラクターへのポインターを取得できないため、クラスの新しいインスタンスを返す静的メソッドを使用したいと考えています。次の構文はおそらく間違っていますが、それが考え方です。
typedef static IValue * (*returnPtrIValue)(); map<char, returnPtrIValue> ...
クラス A があり、クラス B がクラス A を拡張すると仮定すると、B は A であるため、B へのポインター/参照を返す関数へのポインターを使用して、A へのポインター/参照を返す関数へのポインターを初期化できますか?
たとえば、次のことができますか。
typedef A * (*returnPtrA)(); B * func() { ... } returnPtrA foo = func;