![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Fanat |
![]()
Сообщение
#1
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Как перегрузить opertor+ для итератора list<MyClass>::iterator?..
То есть хочу чтобы работал следующий код
list<ILXListItem>::iterator it;
it = it + 5;
Сделать перегрузку тривиально, но где это записать и как етим правильно пользоваться?.. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
![]() Так лучше: class TMyList: public list<int>
{
// ...
friend
TMyList::iterator&
operator + (TMyList::iterator &it, int index) {
for(; index; --index) ++it;
return it;
}
public:
void erase_element(int index) {
list<int>::iterator it = begin();
erase(it + index);
}
// ...
};
? |
Fanat |
![]()
Сообщение
#3
|
![]() Fanat ![]() ![]() ![]() Группа: Пользователи Сообщений: 261 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Мне кажется так лучше...
![]() ![]() (Значит класс должен наследоваться от list?.. |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 5:57 |