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

Здесь есть возможность читать онлайн «Стефан Дэвис - С++ для чайников .» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом Вильямс. Компьютерное издательство Диалектика, Жанр: Технические науки, Программирование, Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

С++ для чайников .: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «С++ для чайников .»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

empty-line
1
empty-line
4

С++ для чайников . — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «С++ для чайников .», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

После настройки среды выполнения этот код вызывает функцию main( ) , и лишь тогда происходит выполнение операторов программы. При завершении программа выходит из функции main( ) , после чего вторая часть стандартного кода С++ освобождает занятые программой системные ресурсы и передаёт управление операционной системе.

_________________

87 стр. Глава 6. Создание функций

►Перегрузка функций...88

С++ позволяет программистам называть несколько разных функций одним и тем же именем. Эта возможность называется перегрузкой функций ( function overloading).

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

Однако используемое компилятором внутреннее имя функции включает число и типы аргументов ( но не возвращаемое значение ), и поэтому следующие функции являются разными:

void someFunction( void )

{

/* ...Выполнение некоторой функции */

}

void someFunction( int n )

{

/* ...Выполнение другой функции */

}

void someFunction( double d )

{

/* ...Выполнение ещё одной функции */

}

void someFunction( int n1 , int n2 )

{

/* ...Выполнение ещё одной функции, отличной от предыдущих */

}

Компилятор С++ знает, что функции someFunction( void ) , someFunction( int ) , someFunction( double ) , someFunction( int , int ) не одинаковы. В мире компьютеров встречается довольно много таких вещей, для которых можно найти аналогии в реальном мире. Существуют они и для перегрузки функций.

Вы знаете, что тип аргумента void указывать не обязательно. Например, SumFunction( void ) и SumFunction( ) вызывают одну и ту же функцию. Фактически функция может иметь сокращённое название, в нашем случае someFunction( ) , так же как и меня можно называть просто Стефаном. Если бы Стефанов больше нигде не было, меня всегда могли бы называть только по имени. Но в действительности нас побольше, и если кому-то посчастливится попасть в общество нескольких Стефанов, то к ним придётся обращаться по имени и фамилии ( кстати, напомню, что меня зовут Стефан Дэвис ). Пользуясь полным именем, никто не ошибётся, даже если Стефанов будет несколько. Поэтому, пока полные имена функций в программе уникальны, конфликты между ними невозможны.

Подобные аналогии между компьютерным и реальным миром не должны вас удивлять, так как компьютерный мир создан людьми.

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

int intVariable1 , intVariable2 ;

double doubleVariable ;

/* Функции различаются по типу передаваемых аргументов */

someFunction( ) ; /* Вызов someFunction( void ) */

someFunction( intVariable1 ) ; /* Вызов someFunction( int ) */

someFunction( doubleVariable ) ; /* Вызов someFunction( double ) */

someFunction( intVariable1 , intVariable2 ) ; /* Вызов someFunction( int , int ) */

/* С константами функции работают аналогично */

someFunction( 1 ) ; /* Вызов someFunction( int )*/

someFunction( 1.0 ) ; /* Вызов someFunction( double ) */

someFunction( 1 , 2 ) ; /* Вызов someFunction( int , int ) */

_________________

88 стр. Часть 2. Становимся функциональными программистами

В каждом случае типы аргументов соответствуют тем, которые значатся в полном имени каждой функции.

Тип возвращаемого значения в полное имя функции называемое также - фото 102

«Тип возвращаемого значения в полное имя функции ( называемое также еёсигнатурой ) не входит. Следующие две функции имеют одинаковые имена ( сигнатуры ) и поэтому не могут использоваться в одной программе:

int someFunction( int n ) ;

/* Полным именем этой функции является someFunction( int ) */

double someFunction( int n ) ; /* Имеет то же полное имя */

»

[ Атас! ]

В выражениях с перегруженными функциями могут использоваться переменные разных - фото 103

«В выражениях с перегруженными функциями могут использоваться переменные разных типов, поскольку при определении полного имени играют роль только аргументы. Следующий код вполне допустим:

int someFunction( int n ) ;

double d = someFunction( 10 ) ;

/* Преобразуем тип полученного значения */

»

[ Помни! ]

В этом фрагменте возвращаемые функцией значения типа int преобразуются в double . Но следующий код некорректен:

int someFunction( int n ) ;

double someFunction( int n ) ;

double d = someFunction( 10 ) ;

/* В этом случае мы преобразуем тип полученного целочисленного значения или используем вторую функцию? */

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «С++ для чайников .»

Представляем Вашему вниманию похожие книги на «С++ для чайников .» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «С++ для чайников .»

Обсуждение, отзывы о книге «С++ для чайников .» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x