- •Базовое ядро языка Элементы программы.
- •Комментарии
- •Инструкция – выражение
- •Инструкция
- •Определение функции
- •Заголовок функции
- •Прототипы функций
- •Аргументы по умолчанию.
- •Перегрузка функций
- •Встраиваемые функции
- •Стек до блока Вошли в блок Вышли из блока
- •Индексирование
- •Int a [100]; одномерный массив
- •Int b [3][5]; двухмерный массив
- •Int c [7][9][2]; трехмерный массив
- •Передача массивов функциям
- •Объявления ссылок и вызовов по ссылке
- •Функции-члены класса
- •Доступ: закрытый и открытый
- •Область видимости класса
- •Оператор разрешения области видимости ::
- •Вложенные классы
- •Статические члены данных
- •Указатель this
- •Функции-члены типа static и const.
- •Изменчивость (mutable)
- •Создание и уничтожение объектов
- •Классы с конструкторами
- •Конструкторы как преобразования
- •Создание динамического стека
- •Классы с деструкторами
- •Пример: динамически размещаемые строки
- •Ad hoc полиморфизм
- •Алгоритм выбора перегруженной функции
- •Перегрузка операторов
- •Перегрузка бинарных операторов
- •Перегрузка операторов присваивания и индексирования
- •Перегруженные операторы ввода-вывода « и »
- •Перегрузка оператора ( ) для индексирования
- •Операторы указателей
- •Указатель на член класса
- •Перегрузка new и delete
- •Наследование.
- •Методология объективно-ориентированного проектирования
- •Виртуальные функции
- •Абстрактные базовые классы
Инструкция – выражение
Выражения с запятой exp1, exp2, exp3 ... вычисляются последовательно. Результат последнего выражения и есть результат исходного (всего) выражения.
Например, i = 5; SUM = 0, i = 1; // будет SUM = 0, i = 1
SUM = (0, i = 1); // будет SUM = 1, i = 1\\\\\\\\\\\\\\\\\= b + (c = 3); равнозначно с = 3; a = b + c;
Инструкция выбора.
1) if (Условие) \Инструкция 1\Следующая инструкция
Если условие истинно, то выполняется Инструкция 1, в противном случае она пропускается. Условие – это выражение или объявление с инициализацией.
Например, if (temperature >= 0 ) cout << “Температура плюсовая” ;cout << “Мороз”;
if (Условие) Инструкция 1
else
Инструкция 2
Если условие истинно, то выполняется Инструкция 1, а Инструкция 2 пропускается. Еслиусловие ложно наоборот – выполняется Инструкция 2, а Инструкция 1 пропускается Например,
if (tempirature >= 0)
cout << “Температура выше точки замерзания”;
else
cout << “Температура ниже нуля”;
// Следующая инструкция
Инструкция switch switch (Условия)
Инструкция
Инструкция – обычно составная, содержащая метки case и необязательную метку default.
Метка case представляет собой целое-постоянное выражение: Таких меток может быть много.
Инструкция switch работает следующим образом.
1Вычисляется выражение в круглых скобках
2Выполняется инструкция с той меткой case, чье значение совпадает с результатом выражения-условия.
Далее выполняется следующая по порядку инструкция. Если ни одна из меток case не подошла, выполняется инструкция с меткой default.
2Выполнение оператора switch может быть прервано инструкцией break.
switch (val) {case 1: f ( ); break;case 2: f ( ); break;default: n ( ); break;}
Составная инструкция – это последовательность инструкций, заключенная в фигурные скобки. Составные инструкции применяются для группирования обычных инструкций.
Например, if (A > 0) { i = 10;for (j = 1; j = i; j ++)cout << j;}
Объявления – инструкции
Объявление является инструкцией. Если только переменная не объявлена как static, инициализатор выполняется каждый раз, когда поток управления достигает определения. Объявление разрешается помещать в любом месте, где допустима инструкция.
Объявления можно также помещать в условия. Например,
if (double d = prim (true)) { // объявление в условие//////left / = d;///double x = left* 5.0; //объявление – инструкция \\\\\\\ break;}
Инструкции циклов
Инструкция while while (условие)
Инструкция
Сначала вычисляется условие. Если условие истинно, то выполняется инструкция и управление передается в начало цикла while. Как только условие станет ложным, управление передается следующей за while инструкции.
Например, while (i <= 10) { SUM += 1;++i;} cout << i;
Инструкция do do Инструкция while (Условие) следующая_инструкция
Сначала выполняется Инструкция, затем вычисляется условие. Если Условие истинно, то управление передается на начало инструкции do. Если условие ложно управление передается следующей_инструкции.
do {cout << “\n Введите положительное число: ”; cin >> n; } while (n <= 0);
Инструкция for for (Начальная_инструкция Условие; Выражение)
Инструкция Следующая_инструкция
Сначала выполняется Начальная_инструкция. Она используется для инициализации переменной цикла. Затем проверяется условие. Если оно истинно, то выполняется Инструкция, вычисляется выражение и управление передается в начало цикла на проверку условия.
Инструкции break и continue
Инструкции break вызывает выход из тела цикла или инструкции switch
for (i = 0; i < 10; ++i) { cin >> x;
if (x < 0.0)
{ cout << “Все!” << endl;
break;
}
cout << sqrt (x) << endl;
}
Инструкция continue вызывает остановку текущей итерации цикла и немедленный переход к началу очередной итерации.
Например,
for (i = 0; i < MAX; ++ i)
{ cin .get (c);
if (isdigit (c))
continue;
.... // обработка символов
....
}
Инструкция goto
goto Метка; Метка – это идентификатор
Управление по инструкции goto безусловно передается на помеченную инструкцию. Например,
if (d = = 0.0)
goto error;
else
ratio = n/d;
.....
error: cerr << “ОШИБКА: Деление на ноль!\n”;