私は、基本クラスInputFileといくつかの派生クラス(、、TxtInputFileなど)を持ついくつかのC ++コードの問題に取り組んでいますASCInputFile。ここで、各派生クラスは特定の入力タイプです。
私ができるようにしたいのは、コマンドラインから変数を削除してから、指定されたファイルタイプを処理するための正しい派生クラスオブジェクトを生成することです(たとえば、ユーザーTXTがコマンドラインから指定されたので、TXTInputFileオブジェクトを生成しますInputFileプログラムの残りの部分で使用するために、ラベルの下に戻ります)。
IF/'ELSE`ステートメントの文字列を使用してこれを行うことができ、ユーザー入力を一連の事前定義されたファイルコードと比較しますが、将来的には、文字列を編集せずに新しいファイルタイプのサポートを追加できるようにしたいと思います。 ifステートメントや新しいファイルコードの追加など。
実行時にすべての派生クラスのコンパイラ生成テーブルにアクセスして基本クラスにアクセスする方法はありますか?
または、渡されたパラメーターが何に等しいかに基づいて動的にバインドされる、ある種のポリモーフィックコンストラクターですか?
(たとえば、 InputFile(string)... TXTInputFile(string temp = "TXT")、ASCInputFile(string temp = ASC")...これがパラメータのデフォルト値の形式であり、その一連の思考でどこに向かっているのかを示唆しようとしているだけです。)
前もって感謝します。