私はC++を使い慣れていません。残念ながらC#(私の以前の言語)で考えるのをやめることはできません。 私はいくつかの書籍、フォーラム、C++リファレンスWebサイトを読んでいましたが、私の質問に対する答えは見つからなかったので、醜いものをあきらめて書く前にここで試してみるかもしれないと思いました。C++の一般的な型のコレクションを返す正しい方法
よろしくお願いいたします。 私は抽象メソッドのクラスを持っていますsuccesorsFunctionと私は州へのポインタのコレクションを返したいと思います。私は特定のコンテナに実装者を強制したくありません。私はむしろ彼らに選択させる(ベクトル、リストなど)。
だから、次のようになります。
class Problem
{
public:
virtual list<const State*>::iterator succesorsFunction(const State &state, list<const State*>::iterator result) const = 0;
};
ここでの問題は、リストを明示的に使用することです。 C++でどうやってやっていますか?
私はテンプレートを使用して考えたが、その後私は2つの問題が発生しました:あなたは抽象メソッドでそれを行うことができない(または私は間違っているように思え) 1) 2)どのように私はそれがポインタを含まなければならないテンプレートを教えていますか?国家に?
それを呼び出します。 – Xeo
この機能とバーチャルが達成するはずのものを拡張できますか?代わりの方法があるかもしれません。 –
'IEnumerable'に類似したものを返そうと思っていますか? –
svick