- •Битовые операции
- •Битовые логические операции
- •Битовые операции сдвига
- •Логические операции
- •Битовые операции
- •Логические операции
- •Символьный тип
- •Целочисленный тип
- •Вещественный тип
- •Логический тип
- •Преобразование типов данных
- •Оператор цикла while
- •Оператор цикла for
- •Оператор цикла do while
- •Программирование вложенных циклов
- •Переприсваивание
- •Объединение строк
- •Escape-знаки
- •Точные строки: символ @
- •Преобразование строк в другие типы
- •Объединения
- •Основные понятия
- •7.2. Определение функции
- •Вызов функции
- •Передача данных по значению
- •Передача данных по адресу
- •Передача данных по ссылке
- •Передача одномерного массива в функцию
- •Вызовы с переменным числом аргументов
- •Определение значений по умолчанию
- •Организация работы с файлами средствами c
- •Файловый ввод-вывод с использованием потоков
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Массивы указателей
- •Предварительная инициализация параметров функции
- •Динамические массивы ограниченного размера и их объём[]
- •Макроопределение - директива #define
- •Структура библиотеки
- •Бщее описание[править | править исходный текст]
- •Неструктурная обработка исключений[
- •Структурная обработка исключений[
Вызовы с переменным числом аргументов
При вызове функции с переменным числом аргументов нужно в вызове функции просто задать произвольное число аргументов. Если есть объявление прототипа функции, то переменное число аргументов может быть задано помещением запятой с многоточием (,...) в конце списка формальных параметров или списка типов аргументов (см. Раздел 4.5, "Объявления функций"). Вызов функции должен включать один аргумент для каждого имени типа, объявленного в списке формальных параметров или списке типов аргументов.
Аналогично, список формальных параметров (или список идентификаторов в старой форме) в определении функции может заканчиваться запятой с многоточием для индикации переменного числа аргументов. Дополнительная информация о форме списка формальных параметров содержится в Разделе 7.2, "Определения функций".
Все заданные в вызове функции аргументы помещаются в стек. Число объявленных для функции формальных параметров определяет число аргументов, которые будут взяты из стека и присвоены формальным параметрам. Пользователь сам отвечает за поиск любых дополнительных аргументов в стеке и за определения количества заданных аргументов. Информация о макросах, которые позволяют компактно обрабатывать переменное число аргументов, содержится в Вашем Руководстве по компилятору.
Определение значений по умолчанию
Обеспечить значения по умолчанию для параметров функции очень легко. Вы просто присваиваете значение параметру с помощью оператора присваивания С++ прямо при объявлении функции, как показано ниже:
void some_function(int size=12, float cost=19.95) //---->Значения по умолчанию
{ // Операторы функции }
Следующая программа DEFAULTS. CPP присваивает значения по умолчанию параметрам a, b и c внутри функции show_parameters. Затем программа четыре раза вызывает эту функцию, сначала не указывая параметров вообще, затем указывая значение только для а, потом значения для а и b и, наконец, указывая значения для всех трех параметров:
#include <iostream.h>
void show__parameters (int a=1, int b=2, int c=3)
{ cout << "a" << a << " b " << b << " с " << с << endl; }
void main(void)
{ show_parameters(); show_parameters(1001); show_parameters(1001, 2002); show_parameters(1001, 2002, 3003); }
24Стандартные библиотечные функции для организации ввода-вывода информации (getc, gets, scanf, putc, puts, printf). Спецификации преобразований для данных различных типов.
stdin - стандартный ввод; stdout - стандартный вывод; stderr - стандартные ошибки; stdaux - стандартный порт; stdрrn - стандартная печать.
25Работа с файлами в C++
Файлом называют способ хранения информации на физическом устройстве. Файл — это понятие, которое применимо ко всему — от файла на диске до терминала.
В C++ отсутствуют операторы для работы с файлами. Все необходимые действия выполняются с помощью функций, включенных в стандартную библиотеку. Они позволяют работать с различными устройствами, такими, как диски, принтер, коммуникационные каналы и т.д. Эти устройства сильно отличаются друг от друга. Однако файловая система преобразует их в единое абстрактное логическое устройство, называемое потоком.
Текстовый поток — это последовательность символов. При передаче символов из потока на экран, часть из них не выводится (например, символ возврата каретки, перевода строки).
Двоичный поток — это последовательность байтов, которые однозначно соответствуют тому, что находится на внешнем устройстве.
