Читаем C++ для начинающих полностью

// прочитать значения из стандартного ввода

cout i;

if ( !cin ) {

cerr j;

if ( !cin ) {

cerr

Вызов функции может обрабатываться двумя разными способами. Если она объявлена

встроенной (inline), то компилятор подставляет в точку вызова ее тело. Во всех

остальных случаях происходит нормальный вызов, который приводит к передаче управления

ей, а активный в этот момент процесс на время приостанавливается. По завершении

работы выполнение программы продолжается с точки, непосредственно следующей

за точкой вызова. Работа функции завершается выполнением последней инструкции

ее тела или специальной инструкции return.

Функция должна быть объявлена до момента ее вызова, попытка использовать необъявленное

имя приводит к ошибке компиляции. Определение функции может служить ее объявлением,

но ему разрешено появиться в программе только один раз. Поэтому обычно его помещают

в отдельный исходный файл. Иногда в одном файле находятся определения нескольких

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

файле, необходим механизм, позволяющий объявить ее, не определяя.

Объявление функции состоит из типа возвращаемого значения, имени и списка параметров.

Вместе эти три элемента составляют прототип. Объявление может появиться в файле

несколько раз.

В нашем примере файл main.C не содержит определений abs(), min() и gcd(), поэтому

вызов любой из них приводит к ошибке компиляции. Чтобы компиляция была успешной,

их необязательно определять, достаточно только объявить:

int abs( int );

int min( int, int );

int gcd( int, int );

(В таком объявлении можно не указывать имя параметра, ограничиваясь названием типа.)

Объявления (а равно определения встроенных функций ) лучше всего помещать в заголовочные файлы, которые могут включаться всюду, где необходимо вызвать функцию. Таким образом, все файлы используют одно общее объявление. Если его необходимо модифицировать, изменения будут локализованы. Вот так выглядит заголовочный файл для нашего примера. Назовем его localMath.h:

// определение функции находится в файле gcd.С

int gcd( int, int );

inline int abs(int i) {

return( i0 ? -i : i );

}

inline int min(int vl.int v2) {

return( vlv2 ? vl : v2 );

}

В объявлении функции описывается ее интерфейс. Он содержит все данные о том, какую информацию должна получать функция (список параметров) и какую информацию она возвращает. Для пользователей важны только эти данные, поскольку лишь они фигурируют в точке вызова. Интерфейс помещается в заголовочный файл, как мы поступили с функциями min(), abs() и gcd().

При выполнении наша программа main.C, получив от пользователя значения:

Введите первое значение: 15

Введите второе значение: 123

выдаст следующий результат:

mm: 15

НОД: 3

<p>7.2. Прототип функции</p>

Прототип функции описывает ее интерфейс и состоит из типа возвращаемого функцией значения, имени и списка параметров. В данном разделе мы детально рассмотрим эти характеристики.

<p>7.2.1. Тип возвращаемого функцией значения</p>

Тип возвращаемого функцией значения бывает встроенным, как int или double, составным, как int или double*, или определенным пользователем – перечислением или классом. Можно также использовать специальное ключевое слово void, которое говорит о том, что функция не возвращает никакого значения:

#include string

#include vector class Date { /* определение */ };

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных