- ベストアンサー
条件によって別のクラスのインスタンスを作成する場合
大きな条件分岐があって、その条件によって別のクラスを同じ名前でインスタンス化し、以降で使いたいのですが、うまくコンパイルが通りません。考えてみればifブロックの中だけで有効なインスタンスになってしまうので、当たり前かも知れません。どのようにすれば、使えるようになるのでしょうか。 以下にコードを載せます。正しい書き方を教えて下さい。 よろしくお願いします。 if(条件A){ classA object; // objectという名前でclassAをインスタンス化 }else{ classB object; // objectという名前でclassAとは別のclassBをインスタンス化 } object.methodA(); // objectのmethodA関数を使用したい
- みんなの回答 (3)
- 専門家の回答
お礼
早速のご回答、ありがとうございます。 おっしゃるとおり、classAとclassBは処理的に似ています。 ご回答くださったものは、親クラス型のポインタ変数に子クラスを代入するというやつですね。 こういう書き方が常套手段のようですね。参考になりました。