Реферат по предмету "Программирование"


Вызов Функции

Вызов Функции

Вызов функции, то есть запись выражение (список_выражений),
можно проинтерпретировать как бинарную операцию, и операцию вызова можно
перегружать так же, как и другие операции. Список параметров функции operator()
вычисляется и проверяется в соответствие с обычными правилами передачи
параметров. Перегружающая функция может оказаться полезной главным образом для
определения типов с единственной операцией и для типов, у которых одна операция
настолько преобладает, что другие в большинстве ситуаций можно не принимать во
внимание.

Для типа ассоциативного массива assoc мы не определили
итератор. Это можно сделать, определив класс assoc_iterator, работа которого
состоит в том, чтобы в определенном порядке поставлять элементы из assoc.
Итератору нужен доступ к данным, которые хранятся в assoc, поэтому он сделан
другом:

class assoc {

friend class assoc_iterator;

  pair* vec;

  int max;

  int free;

public:

  assoc(int);

  int&
operator[](char*);

};

Итератор определяется как

class assoc_iterator{

  assoc* cs;  // текущий массив assoc

  int i;      // текущий индекс

public:

 
assoc_iterator(assoc& s) { cs = &s; i = 0; }

  pair*
operator()()

      { return
(ifree)? &cs->vec[i++] : 0; }

};

Надо инициализировать assoc_iterator для массива assoc,
после чего он будет возвращать указатель на новую pair из этого массива всякий
раз, когда его будут активизировать операцией (). По достижении конца массива
он возвращает 0:

main()    //
считает вхождения каждого слова во вводе

{

  const MAX =
256;  // больше самого большого слова

  char buf[MAX];

  assoc
vec(512);

  while
(cin>>buf) vec[buf]++;

  assoc_iterator
next(vec);

  pair* p;

  while ( p =
next() )

      cout
name val

}

Итераторный тип вроде этого имеет преимущество перед
набором функций, которые выполняют ту же работу: у него есть собственные
закрытые данные для хранения хода итерации. К тому же обычно существенно, чтобы
одновременно могли работать много итераторов этого типа.

Конечно, такое применение объектов для представления
итераторов никак особенно с перегрузкой операций не связано. Многие любят
использовать итераторы с такими операциями, как first(), next() и last()
(первый, следующий и последний).
Список литературы

Для подготовки данной работы были использованы материалы
с сайта http://www.realcoding.net


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Отчет по практике в бухгалтерии
Реферат Видение пророка Даниила в русском искусстве XV-XVI веков
Реферат Analisis Between Tombstone And The Outcasts Of
Реферат Colorado Essay Research Paper Colorado Then and
Реферат Способы бурения инженерно-геологических скважин
Реферат История Маши Мироновой (по повести "Капитанская дочка")
Реферат Образ Русской деревни в прозе Бунина
Реферат Реклама в интернет школы танцев Релиз
Реферат Методы проявления системной идеи. Эвристические методы исследования систем управления
Реферат Своеобразие архитектуры Новгорода
Реферат Девиантное поведение несовершеннолетних подростков гендерные аспекты
Реферат Failure In Ethan Frome Essay Research Paper
Реферат Селекция ячменя пивоваренного направления
Реферат Анализ перспектив развития инновационной деятельности в россии попов В. В., аспирант гси министр финансов РФ алексей Кудрин 14 апреля 2009 год
Реферат Особенности коррекционной работы по развитию фонематического восприятия у детей старшего дошкольного 2