クラスのすべてのオブジェクトを「反復」できる構造を作成したいと考えています (場合によっては、すべての派生クラスのオブジェクトも無視されます)。ただし、「親」クラスを反復処理するべきではありません。
次のシステムがあるとします。
Aは基本クラス
Cであり、Dはその
Eから派生したものであり、 Cから派生したものです。
ここで、「D を反復処理する」場合、D を反復処理したいと思いますが、a を反復処理したくはありません。ただし、同じように「Cを反復処理」できるようにしたいと考えています-これにより、すべての「C」オブジェクトを反復処理でき、場合によってはすべてのEオブジェクトも反復処理できます(必要ではありませんが、悪くもありません) .
どうすればこれを実現できますか?
すべてのオブジェクトをリンクする「myObjects」という静的変数を配置してみました。しかし、すぐに、派生クラスで静的変数をオーバーロードできないことに気付きました。(したがって、C の「myObjects」は、A または D の「myObjects」と同じになります)