
- •6 Глава 1
- •12 Глава 1
- •14 Глава 1
- •16 Глава 1
- •18 Глава 1
- •20 Глава 1
- •22 Глава 1
- •24 Глава 1
- •26 Глава 1
- •31 Глава 1
- •34 Глава 2
- •36 Глава 2
- •Puc. 2.4. Дополнительные опции консольного приложения Win32
- •38 Глава 2
- •40 Глава 2
- •42 Глава 2
- •44 Глава 2
- •48 Глава 2
- •50 Глава 2
- •52 Глава 2
- •54 Глава 2
- •56 Глава 2
- •58 Глава 2
- •60 Глава 2
- •62 Глава 2
- •64 Глава 2
- •66 Глава 2
- •68 Глава 2
- •70 Глава 2
- •74 Глава 2
- •76 Глава 2
- •79 Глава 2
- •82 Глава 2
- •84 Глава 2
- •86 Глава 2
- •88 Глава 2
- •92 Глава 2
- •94 Глава 2
- •96 Глава 2
- •98 Глава 2
- •103 Глава 2
- •105 Глава 2
- •107 Глава 2
- •110 Глава 2
- •115 Глава 3
- •119 Глава 3
- •121 Глава 3
- •123 Глава 3
- •125 Глава 3
- •129 Глава 3
- •131 Глава 3
- •133 Глава 3
- •139 Глава 3
- •141 Глава 3
- •143 Глава 3
- •145 Глава 3
- •148 Глава 3
- •150 Глава 3
- •155 Глава 3
- •165 Глава 4
- •168 Глава 4
- •170 Глава 4
- •173 Глава 4
- •175 Глава 4
- •178 Глава 4
- •184 Глава 4
- •186 Глава 4
- •188 Глава 4
- •190 Глава 4
- •192 Глава 4
- •194 Глава 4
- •198 Глава 4
- •201 Глава 5
- •203 Глава 5
- •205 Глава 5
- •207 Глава 5
- •213 Глава 5
- •217 Глава 5
- •219 Глава 5
- •221 Глава 5
- •223 Глава 5
- •225 Глава 5
- •227 Глава 5
- •232 Глава 5
- •234 Глава 5
- •236 Глава 5
205 Глава 5
в начале исходного файла программы. Заголовочные файлы, которые вы включаете для использования стандартных библиотечных функций, помимо прочего, включают в себя прототипы этих библиотечных функций.
Для примера функции power () вы можете написать следующий прототип:
Не забывайте о точке с запятой в конце прототипа функции. Без этого вы получите от компилятора сообщение об ошибке.
Обратите внимание, что я специфицировал имена параметров в прототипе функ- ции, отличающиеся от тех, что применялись в заголовке функции при ее определе- нии. Это просто для того, чтобы показать, что такое возможно. Чаще в прототипах указываются те же имена, что и в заголовке определения функции, но это не обяза- тельно должно быть так. Вы можете применять более длинные и выразительные име- на параметров в прототипе функции, чтобы пояснить их назначение, а потом указать более короткие имена тех же параметров в определении функции, где длинные име- на могли бы загромоздить код и сделать его менее читабельным.
При желании вы можете вообще пропустить имена параметров в прототипе функ- ции и просто написать так:
Это предоставляет достаточно информации компилятору, чтобы он выполнил свою работу; однако лучше использовать некоторые осмысленные имена в прототи- пе, потому что это повышает читабельность и в некоторых случаях вообще отличает ясный код от запутанного. Если у вас есть функция с двумя параметрами одного и того же типа (предположим, к примеру, что у нас index в функции power () также был бы типа double), то выбор для них осмысленных имен показывает, какой пара- метр идет первым, а какой вторым.
В следующем примере применения функции power () вы можете увидеть, как все это работает вместе.
Структурная
организация программ
В этой программе демонстрируются некоторые способы использования функции power () путем передачи ей аргументов различными способами. Если запустить этот пример, получится следующий вывод:
Описание полученных результатов
После обычного оператора #include для поддержки ввода-вывода и объявления using идет прототип функции power (). Если вы удалите его и попытаетесь пере- компилировать программу, то компилятор не сможет обработать вызовы функции в main (), а выдаст вместо этого серию сообщений об ошибках:
и еще одно сообщение:
В отличие от предыдущих примеров, я использовал в этом примере новое ключе- вое слово void в функции main (), где обычно появляется список параметров, чтобы показать, что параметры не применяются. Ранее я оставлял скобки, включающие па- раметры, пустыми, что также интерпретировалось С++ как признак отсутствия пара- метров; но все же лучше явно указать на этот факт ключевым словом void. Как вы уже видели, ключевое слово void также может применяться в качестве типа возврата функции, чтобы показать, что функция не возвращает значения. Если вы специфици- руете тип возврата как void, то не должны помещать никакого значения рядом с опе- ратором return внутри функции; в противном случае вы получите от компилятора сообщение об ошибке.
Думаю, вы сделали вывод из предыдущих примеров, что применять функции очень просто. Чтобы использовать функцию power () для вычисления 5,03 и сохра- нить результат в переменной у в нашем примере используется следующий оператор:
Здесь значения 5. О и 3 — аргументы функции. В данном случае они являются кон- стантами, но вы можете использовать любые выражения в качестве аргументов, если