私は、コンストラクタとデストラクタが吹き出しと刻みで書かれたクラスを持つプログラムを作成しました。テンプレートを使用した空のオブジェクトまたはクラス/空のタイプ
クラスには、私のメニューとして使用しているrun()関数が含まれています。メニューから、私はユーザーにオプションを1つ選択させてもらいたい。コンストラクターをテストする(クラスからインスタンスを作成する)。2.デストラクタをテストする(メインメニューの終了時にメニューを終了して破壊する)。
ここは私のジレンマです。
main()ではrun()関数を使用するためにクラスを作成してインスタンスを作成する必要があります。しかし、私はテンプレートを使用しています。すなわち、 Class<classType> classTypeRun
。
run()を使用できるようにインスタンスを作成するためには、classTypeを指定する必要があります。これはコンストラクタを呼び出しますが、これは望ましくありません。私は、ユーザーがメニューから選択したときにコンストラクタを実行したいだけです。
これについて最も効率的な方法は何ですか?
run()関数のためだけに継承されたクラスを作成する必要がありますか?
だから、この 'run'関数は' static'とテンプレートパラメータに依存しないのですか? –
なぜ 'run()'がメンバ関数ですか?ユーザが(2)を選択したときにコンストラクタを実行させたい場合は、テンプレートクラスのメンバ関数ではできません。 – Chad
K チャド:私はそれを見つけました。はい、それはメンバー関数であり、厳密にはそれを設定しているからです。しかし、私は明示的に呼び出すだけのメニューを追加しています。コンストラクタ/デストラクタ私はC/C++で上級者ではないことを心からお祈りします。 –