С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
10 / 10 / 6
Регистрация: 27.07.2014
Сообщений: 269

Класс, реализующий функции итератора

05.01.2015, 14:54. Показов 1386. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача:
добавить в структуру данных вложенный класс, реализующий функции итератора

У меня

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
class list;
class Students
    {
    private:
        char *surname;
        char *address;
        char *group;
        Students *NEXT;
        friend list;
        class Date
            {
            private:
                int day[3];//0 - дата рождения; 1 - поступления; 2- отчисления
                int month[3];
                int year[3];
                friend Students;
                friend list;
            public:
                
                Date();
                void Print();
                void Input();
                void Edit();
                friend ofstream& operator<<(ofstream &ofs,Students &Stud);
    friend ifstream& operator>>(ifstream &ifs,Students &Stu);
    int compare(Date *d1,Date *d2,int index);
    bool check(int v);
            };
        
        Date *dat;
    public:
            
        Students();
        ~Students();
    void Print();
    void Input();
    void Edit();
    void get(Students *s);
    Students *set();
    friend ofstream& operator<<(ofstream &ofs,Students &Stud);
    friend ifstream& operator>>(ifstream &ifs,Students &Stu);
    Students& operator=(Students &s);
    };
 
class list
    {
    private:
        Students *head;
        int num; //кол-во студентов
    public:
        
         class iterator //сам вложенный класс 
            {
                
            private:
                Students *pd;
                friend Students;
                friend list;
            public:
                iterator();
                ~iterator();
                iterator(Students *s);
                Students* operator++();
                Students*& operator=(Students *&s); 
            };
        friend iterator;
        list();
        ~list();
        void AddStudent();
        void PrintStudents();
        void DeleteStudent();
        void AddStudentOnNum(int n);
        void DeleteStudentOnNum(int n);
        friend ofstream& operator<<(ofstream &ofs,Students &Stud);
        friend ifstream& operator>>(ifstream &ifs,Students &Stu);
        void AddIteratorom(){
            iterator *it=new iterator(head);    
            ++it;
        //head=it;
        };
        void RecordInFile();
        void ReadOfFile();
        int set(){return num;};
        void sort(int val);
        void Search(int);
    };
Как мне надо его задействовать - итератор ?)
Добавить в list метод в котором

C++
1
2
3
4
5
void AddIteratorom(){
            iterator *it=new iterator(head);    
            ++it;
        head=it;
        };
или операции ++ должна для объекта класса list работать или как ?)

у меня сейчас идея в том, что внутри класса list создать метод, в котором создать объект итератор и передать ему в конструктор копирования head, потом для iterator ++ , то есть добавляю новый элемент списка, но только мне надо как то еще вернуть, наверно через перегрузку "=" указателю head присвоить значение pd объекта it - итератора, что бы у меня список отобразился нормально
я правильно вообще мыслю ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.01.2015, 14:54
Ответы с готовыми решениями:

Класс контейнера и итератора
Товарищи программисты. Помогите выяснить что должен делать в данной задаче итератор. Реализовать шаблон класса vector, реализующий...

Собственный класс итератора
Добрый день! Пишу сейчас одну библиотеку (не использующею STL и другие библиотеки) и для контейнеров решил написать класс итератора: ...

Класс итератора для класса вектора
Необходимо реализовать собственный класс итератора для прохода по вектору, с перегрузкой оператора ++ - переход к следующему элементу и --...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2015, 14:54
Помогаю со студенческими работами здесь

Класс, реализующий стек
Помогите девушке, только учусь программировать и чет пока не очень=( плиииииииииииииииииииииииииз кого не затруднит...... Задание 5....

Класс, реализующий множество
Создать класс реализующий множество целых чисел. Доп. условия: Элементы множества хранить в числовом массиве, операции объединения и...

Класс, реализующий стек точек
описание класса ,реализующего стек точек R2(int ,int) очень нужно,плиииз

Описать класс, реализующий стек
Всем привет, нуждаюсь в помощи. Описать класс, реализующий стек. Написать программу, использующую этот класс для моделирования...

Описать класс, реализующий возможности
Часы. установка времени; перевод на летнее время; перевод на зимнее время; вывести текущее время; ход в течение N секунд (Т=1...100-0) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru