私はbegin()とend()を持つオブジェクトの継承構造を基本クラスの純粋な仮想メンバ関数として持っています。このオブジェクトから、私は複合構造を構築するつもりです。この内部オブジェクトはstd :: vectorメンバーbegin()とend()からデータを取得します。しかし、リーフクラスにはベクトルがありません。今、リーフクラスでbegin()とend()の戻り値を見つけようとしています。それをする良い方法は何でしょうか?コンテナがない場合のイテレータとして返すものは?
最も簡単な方法は、begin()とend()を起動する要素を持たないリーフクラスのベクターメンバーを持つことですが、これはちょうど良い気分にはなりません。
なぜそれは正しく感じませんか?それは私にはかなり直感的です。 –
派生クラスのすべてが有意義に関数を実装できるわけではない場合、そのクラスは基本クラスの関数ですか?私には、悪いデザインの製品のように聞こえる。 – GManNickG
仮想基底クラスの '' begin'と 'end'の実装が見えることはありますか? –