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

Иттераторы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Не параллелипеидальный объёмный массив http://www.cyberforum.ru/cpp-beginners/thread88734.html
Не знаю, где лучше разместить эту тему. В алгоритмах что ли? Или в c++? Подскажите как организовать массивы с декартовыми и криволинейными координатами в пределах тел сложной формы в качестве индексов. Общее свойство: диапазоны одних индексов зависят от значений других. Как описать геометрию ограничивающего тела, составленного из нескольких более простых не выше второго порядка, описываемых...
C++ Проверка 3-ех примеров (Решать ничего не нужно) Всем привет! =) У меня такая проблемка,кто сталкивался,или может решить,помогите пожалуйста =) Буду очень признателен! Итак,даны три задачи: 1) Даны натуральные числа n и m. Вычислить: http://s47.***********/i116/1001/8d/8242f61cfad2.jpg 2) Дано натуральное число n. Вычислить: http://s55.***********/i148/1001/0d/e2f9e20d615b.jpg 3) Дано натуральное число n. Вычислить... http://www.cyberforum.ru/cpp-beginners/thread88723.html
C++ Структура. Работа с файлом.
Создать структуру описывающую библиотеку: struct library { char book; //название книги char author; //автор int year; //год издания int pages; //число страниц float price; //цена };
Перегрузка файлового ввода-вывода C++
Здравствуйте! У меня вопрос такой вот: для файлового ввода-вывода сколько надо функций перегружать? столько хватит friend std::ostream & operator<<(std::ostream & os, const Order & o); friend std::istream & operator>>(std::istream & is, Order & o); или обязательно нужно
C++ Последовательности пробелов заменнить символом табуляции http://www.cyberforum.ru/cpp-beginners/thread88703.html
нужно написать программу, которая, запросив у пользователя имя входного текстового файла и цену символа “HT- горизонтальный табулятор” (2...8 символьных позиций) формирует выходной текстовый файл HTFILE.OUT, в котором все допустимые последовательности пробелов заменены символом табулятора. помогите....
C++ Не подсчитывает общее количество При разборе простейшей программы возникли затруднения. Код программы: #include <iostream.h> main () { int passes = 0, failures = 0, student = 1, result; while (student <= 10) { подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
28.01.2010, 04:55     Иттераторы
что то типа этого, черт его знает, как правельнее сделать
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
#include <iostream>
#include <conio.h>
using namespace std;
class TArray{
private:
       double *Data;
       int Number;
public:
       class iterator{
       private:
               double *info;
       public:
              iterator(){info=0;}
              iterator(double *d):info(d){}
              double &operator*()
              {
                     return *info;
              }
              iterator &operator++(int i)
              {
                       this->info++;
                       return *this;
              }
              iterator &operator++()
              {
                       this->info++;
                       return *this;
              }
 
              bool operator!=(const iterator &it)const
              {
                   return !(info==it.info);
              }
              iterator &operator=(const iterator &it)
              {
                       info=it.info;
                       return *this;
              }
        };
        TArray (int Num)
        {
               Data=new double[Num];
               if (Data)
               {
                  Number=Num;
               }
               else
               {
                   Num=0;
               }
        }
        ~TArray ()
        {
                if (Data)
                {
                   delete [] Data;
                }  
        }
        double & operator [] (int Index)
        {
               return Data[Index];
        }
        iterator &begin()
        {
                 iterator *it=new iterator(Data);
                 return *it;
        }
        iterator &end()
        {
                 iterator *it=new iterator(Data + Number);
                 return *(it);
        }
};
 
int main()
{
    TArray a(10);
    for (int i=0;i<10;i++) a[i]=i+i;
    TArray::iterator it;
    
    for (it=a.begin();it!=a.end();it++)
    {
        cout << *it << " ";
    }
    getch();
    return 0;
}
Добавлено через 8 минут
похоже вот так:
C++
1
2
3
4
5
6
7
8
9
10
        iterator begin()
        {
                 iterator it(Data);
                 return it;
        }
        iterator end()
        {
                 iterator it(Data + Number);
                 return it;
        }
поадекватнее будет... хз
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru