crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> QLinkedList<> и шаблон.
trdm
  опции профиля:
сообщение 26.7.2008, 16:14
Сообщение #1


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Есть определенная проблема. Не могу понять как решить.
Суть. Планируется несколько классов, которые будут работать с нумерованными структурами.
У нумерованной структуры есть общий атрибут: int number; ///< номер итема
Итем также может хранить и другие данные: size, invisible и т.п. характеристики разные, одинаковым является только логика:
поиск итема >> есть процедура поиска базирующаяся на сохранении значения итератора и поиск осуществляется в зависимости от номера итема, к началу while(_iter != _list->begin()) или к концу while(_iter != _list->eng())
решил оформить это классом-шаблоном:
template <typename T>
class cls {
....
    typename QLinkedList<T*>::iterator _itSave;
....
};

но такой фокус не проходит. Когда обращаешся к
Т* item;
item = *_itSave;
item->num();
компилер матерится....
не знаю, что делать... либо дублировать алгоритм поиска/позиционирования во всех классах, четко указывая имя типа:
QLinkedList<type*> _list;
QLinkedList<type*>::iterator _itSave;
или еще как-то. Вобщем-то код дублировать не очень хочется....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 26.7.2008, 16:36
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


может это связанно с метообъектной информацией? она неможет быть в шаблонном классе, см. статью Academic Solutions to Academic Problems
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 26.7.2008, 17:07
Сообщение #3


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


мда, а может я забыл правило, которая рекомендует помещать шаблонные классы в один модуль.
в не собирающемся коде я помнится разбил определение и реализацию по *.h и *. cpp соответственно.
А сейчас вспомнил и сработало О_о....
Но за полезную информацию спасибо :)
ПС. правда с инглишем слабовато, но суть понял :)

Сообщение отредактировал trdm - 26.7.2008, 17:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.12.2024, 13:24