Язык программирования C++ для профессионалов

       

подсчет числа вхождений во входной


void assoc::print_all() { for (int i = 0; i<free; i++) cout << vec[i].name << ": " << vec[i].val << '\n'; }

Наконец, можно написать тривиальную программу:

main() // подсчет числа вхождений во входной // поток каждого слова { const MAX = 256; // больше длины самого длинного слова char buf[MAX]; assoc vec(512); while (cin>>buf) vec[buf]++; vec.print_all(); }

Опытные программисты могут заметить, что второй комментарий можно легко опровергнуть. Решить возникающую здесь проблему предлагается в упражнении §7.14 [20]. Дальнейшее развитие понятие ассоциативного массива получит в §8.8.

Функция operator[]() должна быть членом класса. Отсюда следует, что эквивалентность x[y] == y[x] может не выполняться, если x объект класса. Обычные отношения эквивалентности, справедливые для операций со встроенными типами, могут не выполняться для пользовательских типов (§7.2.2, см. также §7.9).


Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий