Узнать стоимость написания работы
Оставьте заявку, и в течение 5 минут на почту вам станут поступать предложения!
Реферат

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


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

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

Вызов функции, то есть запись выражение (список_выражений),
можно проинтерпретировать как бинарную операцию, и операцию вызова можно
перегружать так же, как и другие операции. Список параметров функции 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 мильонов к студенческой карме :

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

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

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

Реферат Орбитальный комплекс "Буран"
Реферат Оценка отечественной научной школы (национальные особенности российской политической экономии и российская школа экономической мысли)
Реферат Описание усадьбы как средство характеристики помещика в "Мертвых душах" Н.В. Гоголя
Реферат Разбой - как вид преступления против собственности
Реферат Тема судьбы в "Старшей Эдде"
Реферат Cекції за фаховим напрямом 21 «Літературознавство, мовознавство, мистецтвознавство, соціальні комунікації» Наукової ради мон
Реферат Imperalism Essay Research Paper imperialism Colonialism is
Реферат Cloning Essay Research Paper Today there are
Реферат Маркетинговых исследований рынка телекоммуникационных услуг г. Оренбург
Реферат Аппаратное обеспечение персональных компьютеров
Реферат Термосорбционный масс-спектрометр
Реферат Вызов современной эпохи - в каком образовании мы нуждаемся
Реферат Государственное регулирование финансового рынка
Реферат Организация оперативной финансовой работы на предприятии
Реферат Проблема Другого в философской герменевтике