Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 6<br />
Создание функций<br />
э/пой гиабе...<br />
•S Написание и использование функций<br />
^ Подробный анализ функций<br />
S Перегрузка функций<br />
S Определение прототипов функций<br />
S Хранение переменных в памяти<br />
Ж ш чень часто при написании программ возникает необходимость разделить боль-<br />
\S шую программу на меньшие части, отлаживать которые намного легче. Программы<br />
из предыдущих глав слишком малы, чтобы можно было по-настоящему оценить<br />
пользу такого разделения. Но реальные программы из больших проектов состоят<br />
из тысяч (и даже миллионов!) строк. Поэтому большие программы просто невозможно<br />
написать, не разбивая их на отдельные модули.<br />
C++ позволяет разделить код программ на части, называемые функциями. Сами<br />
функции могут быть записаны и отлажены отдельно от остального кода программы.<br />
Хорошая функция может быть описана одним предложением с минимальным<br />
количеством слов "и" и "или". Например, функция sumSequence{)<br />
суммирует последовательность целочисленных значений, введенных<br />
пользователем. Это определение весьма компактно и легко воспринимается.<br />
Возможность разбивать программу на части с последующей отладкой каждой<br />
функции в отдельности существенно снижает сложность создания больших программ.<br />
Этот подход является, по сути, простейшей формой инкапсуляции (смотрите главу 12,<br />
"Знакомство с объектно-ориентированным программированием", где вопросы инкапсуляции<br />
рассматриваются подробнее.)<br />
/{описание и использование функций<br />
Функции лучше всего изучать на примерах. Эта часть начинается с программы<br />
FunctionDamo, которая показывает, как упростить рассмотренную в главе 5 программу<br />
NestDeno, определив дополнительную функцию. На примере программы FunctionDemo<br />
я постараюсь объяснить, как определять и использовать функции. Эта<br />
программа будет служить образцом для их дальнейшего изучения.<br />
NestDeno содержит два цикла. Во внутреннем цикле суммируется последовательность<br />
введенных пользователем чисел. Он включен во внешний цикл, который повторяет<br />
процесс, пока пользователь не изъявит желания его прекратить. <strong>Р</strong>азделение этих<br />
двух циклов делает программу более наглядной.<br />
В программе FunctionDemo показано, как упростить программу NestDemo с помощью<br />
создания функции sumSequence {] .<br />
Глава 6. Создание функций 67