05.09.2016 Views

Стефан Р. - С++ Для чайников

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!