Я новичок в C ++ и, к сожалению, не могу перестать думать на C # (мой прежний язык).Я читал некоторые книги, форумы и справочный веб-сайт C ++, но не смог найти ответ на свой вопрос, поэтому подумал, что я мог бы попробовать здесь, прежде чем бросить и написать что-то уродливое.
Хорошо, мыможно начать.У меня есть класс с абстрактным методом succesorsFunction , и я хотел бы, чтобы он возвращал коллекцию указателей в State .Я не хочу принуждать разработчиков к конкретному контейнеру;Я предпочитаю выбирать (вектор, список и т. Д.).
Так что это выглядит так:
class Problem
{
public:
virtual list<const State*>::iterator succesorsFunction(const State &state, list<const State*>::iterator result) const = 0;
};
проблема здесь заключается в явном использовании списка.Как вы делаете это в C ++?
Я думал об использовании шаблонов, но потом я столкнулся с двумя проблемами: 1) Кажется, что вы не можете сделать это с абстрактными методами (или я ошибаюсь?) 2) Как сделатьЯ говорю шаблону, что он должен содержать указатели на State?