良い一日の人々 私は愚かなC++の問題に固執しています。std :: vectorの問題
のは、私はイテレータクラスへのポインタを含むベクトルの値を通過IT1と呼ばれている、我々はCを呼び出します言ってみましょう:
std::vector<C*>::iterator it1;
しかし、Cだけではありません:それは多くのサブクラスを持っていますこれらの実装は異なるかもしれませんが、私はit1で探しているのと同じ属性とメソッドを共有しています。イテレータがクラスCだけでなくその子要素の要素(またはより良い、ポインタ)を反復したいと思ったら、私はどうしたらよいでしょうか?
私はテンプレートを使って何かを考えていましたが、テンプレートをCとそのサブクラスに限定する方法がわからないので、反復が安全ではないでしょう。助言がありますか?
編集:はい、私は再帰的なデータ構造について話していました。
Edit2:結局のところ、イテレータの問題ではないようです。私のコードはうまくいきました。私はその変更を実装しようとしていたので質問しました。私は何をすべきか分かりませんでした。申し訳ありませんが、それが不明な場合。
あなたは再帰的またはフラットなデータ構造について話していますか?あなたは、区別を混乱させる用語を使用します。 – robert
すでにCとその子に限定されています。 –
コードが機能するはずです。あなたはコードフラグメントを表示できませんか? –