Russian Qt Forum

Qt => Общие вопросы => Тема начата: Дмитрий от Январь 28, 2005, 12:36



Название: Создать свой список?
Отправлено: Дмитрий от Январь 28, 2005, 12:36
Подскажите пожалуйста как создать список типа QList только что-бы он был замкнут в обе стороны. Т.е. метод prev для первого элемента списка возвращал ссылку на последний, и соответственно для next.
Возможно наследовать QList и переопределить методы prev и next?


Название: Создать свой список?
Отправлено: Sergeich от Январь 28, 2005, 13:06
Насколько я понял ты имеешь в виду QPtrList...
Переопределить в нем ничего нельзя, там нет ни одного виртуального метода. Так что придется писать свой.


Название: Создать свой список?
Отправлено: Sergeich от Январь 28, 2005, 13:23
Пардон, виртуальные методы там все-таки есть, но они к делу не относятся. Как вариант можешь отнаследоваться от QPtrList и добавить пару методов типа:
Код:

    type* cnext()
   {
      type* node =  (type *)QGList::next();
      return node ? node : (type *)QGList::first();
   }

    type* cprev()
   {
      type* node =  (type *)QGList::prev();
      return node ? node : (type *)QGList::last();
   }



Название: Создать свой список?
Отправлено: demo от Февраль 02, 2005, 15:04
Спасибо.