Форум программистов, компьютерный форум CyberForum.ru

Итератор для своего контейнерного класса-списка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти точку на окружности http://www.cyberforum.ru/cpp-beginners/thread207660.html
Здравствуйте. Подскажите, пожалуйста. По написанной программе надо найти точку, лежащую на окружности. Было задание :Составить программу по обработке одномерного массива согласно условию: В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в порядке х1,у1,х2,у2,х3,у3 и т.д. Определить кольцо с центром в начале координат,...
C++ Вывести элементы двумерного массива в виде таблицы Знаю как это сделать на Delphi7,paskale!А как на C# http://www.cyberforum.ru/cpp-beginners/thread207659.html
Как включить vector? C++
Собственно как в VS 2010 подключить и объявить vector? #include <vector> void main() { vector <int> test; .... } пишет идентификатор "vector" не определен.
C++ Односвязный список
Доброго времени суток. Помогите, пожалуйста, решить задачу: Реализовать односвязный список, с возможностью его разворота в обратную сторону(первый стал последним, а последний первым). никак не разберусь со списками =\ вообще, беда..
C++ Считалка http://www.cyberforum.ru/cpp-beginners/thread207630.html
Формулировка. "Считалка". M человек встали в круг и, начиная с первого, считаются. Выходит каждый K-ый человек. Напишите программу, определяющую все номера людей в порядке их выбывания из круга, также напечатайте состояние «круга» после выбывания человека. Для моделирования «круга» используйте одномерный массив A(M), в котором хранятся номера людей и который постепенно сжимается. Формат...
C++ Рефлизация циклических действий Формулировка. В массиве A(M) найдите максимальное подмножество последовательных чисел, составленное из соседних элементов массива. Тест. -7; 1; 3; 4; -2; 2; 5; 6. Результат. 3; 4 и 5; 6. Формат входных данных. и т.д. Элементы массива – целые числа в диапазоне ±1000. M - целое число в диапазоне . Формат выходных данных. другой элемент массива A, входящий в первое подмножество] и... подробнее

Показать сообщение отдельно
Eliont
2 / 2 / 0
Регистрация: 10.12.2010
Сообщений: 29
10.12.2010, 10:07  [ТС]     Итератор для своего контейнерного класса-списка
Ура! Работает.

Если ещё кому понадобится (или я что неправильно сделал, хотя работает):
До public:
C++
1
2
3
4
5
6
7
8
9
    private:
        typedef struct node{
            node *next;
            node *prev;
            bool empty;
            universum value;
        };
        node *root;
        node *last;
Сразу после конструктора:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
        class scanner{
            node *nodeptr;
            public:
                scanner(node* ptr):nodeptr(ptr) {}
                scanner &operator++(int i)
                {   
                    nodeptr = nodeptr->next;
                    return *this;
                }
                scanner &operator--(int i)
                {
                    nodeptr = nodeptr->prev;
                    return *this;
                }
                universum &operator*()
                {
                    return nodeptr->value;
                }
                bool operator==(const scanner& ptr) 
                {   
                    return nodeptr==ptr.nodeptr;
                }
                bool operator!=(const scanner& ptr) 
                {   
                    return nodeptr!=ptr.nodeptr;
                }
        };
        
        scanner begin(){
            scanner b(root); 
            return b;
        }
        
        scanner end(){
            scanner e(last); 
            return e;
        }
last = current->next; в методе, добавляющем узлы.

C++
1
2
3
    for (List<int>::scanner it=list.begin(); it!=list.end(); it++) {
                cout << *it << " ";
        }
Но один вопрос остался:
C++
1
scanner(node* ptr):nodeptr(ptr) {}
А что это за странный конструктор? В смысле зачем одинарное двоеточие и почему он пустой?

Статики убрал. Работает.
Но когда я встраивал готовый итератор, тот что в <iterator> , компилятор выдавал что возвращается адрес локальной переменной.
 
Текущее время: 16:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru