10 / 10 / 6
Регистрация: 27.07.2014
Сообщений: 269
1

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

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

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

У меня

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
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.01.2015, 14:54
Ответы с готовыми решениями:

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

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

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

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

0
05.01.2015, 14:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2015, 14:54
Помогаю со студенческими работами здесь

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

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

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

Описать класс, реализующий возможности
Часы. установка времени; перевод на летнее время; перевод на зимнее время; вывести текущее время;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru