1

私は3種類の口座貯蓄、クレジット、住宅ローンを持っているアカウントクラスを持っています。

すべてのアカウントをタイプアカウントとして保持するためのバイナリ検索ツリーを作成しました

オブジェクトのタイプに応じて、サブクラスのメソッドにアクセスするにはどうすればよいですか?

構文とコーディングに関するすべてのエラーを解決しましたが、これです。

2日間頭を抱えています。誰かがこれがどのように行われるか知っていますか?

4

1 に答える 1

3

簡単な答えは、基本クラスポインタから派生クラスの機能にアクセスする必要がある場合、設計上の問題があるということです。原則として、知る必要はありません。もしそうなら、何かがおかしい。(純粋な意味で)基本クラスのインターフェイスから仮想関数を呼び出し、派生クラスにオーバーライドを実装させて、正しく実行されるようにする必要があります。

さて、時々、実際には、あなたはしなければなりません。したがって、ダウンキャストの可能性があります。ビルドに実行時型情報がある場合は、を実行できます。dynamic_cast<type*>返されるポインターがnullでない場合は、その型のインスタンスがあります。

この道を進む場合は、きちんとしたもので包み、増殖させないでください。乱雑になる可能性があります。ポリモーフィズムを使用して、より良い方法がないかどうかを確認することをお勧めします。

楽しむ!

于 2010-09-09T15:54:05.063 に答える