|
Программирование >> Инициализация объектов класса, структура
iStack::push( 50 17 )( bot: 2 4 6 12 14 16 22 24 26 32 34 36 42 44 46 48 50 :top ) iStack::pop(): 50 iStack::pop(): 48 ( 15 )( bot: 2 4 6 12 14 16 22 24 26 32 34 36 42 44 46 :top ) Упражнение 4.23 Иногда требуется операция peek() , которая возвращает значение элемента на вершине стека без извлечения самого элемента. Реализуйте функцию peek() и добавьте к программе main() проверку работоспособности этой функции. Упражнение 4.24 В чем вы видите два основн1х недостатка реализации класса iStack? Как их можно исправить? 5. Инструкции Mельчайшей независимой частью С++ программа: является инструкция. Она соответствует предложению естественного языка, но завершается точкой с запятой (;), а не точкой. Выражение С++ (например, ival + 5) становится простой инструкцией, если после него поставить точку с запятой. Составная инструкция -это последовательность простых, заключенная в фигурные скобки. По умолчанию инструкции выполняются в порядке записи. Как правило, последовательного выполнения недостаточно для решения реальных задач. Специальные управляющие конструкции позволяют менять порядок действий в зависимости от некоторых условий и повторять составную инструкцию определенное количество раз. Инструкции if, if-else и switch обеспечивают условное в1нолнение. Повторение обеспечивается инструкциями цикла while, do-while и for. 5.1. Простые и составные инструкции Простейшей формой является пустая инструкция. Вот как она выглядит: ; пустая инструкция Пустая инструкция используется там, где синтаксис С++ требует употребления инструкции, а логика программа: - нет. Например, в следующем цикле while, копирующем одну строку в другую, все необходимые действия производятся внутри круглых скобок (условной части инструкции). Однако согласно правилам синтаксиса С++ после while должна идти инструкция. Поскольку нам нечего поместить сюда (вся работа while ( *string++ = inBuf++ ) уже выполнена), приходится оставить это место пустым: ; пустая инструкция Случайное появление лишней пустой инструкции не вызывает ошибки компиляции. Например, такая строка ival = dval + sval;; правильно: лишняя пустая инструкция состоит из двух инструкций - сложения двух величин с присваиванием результата переменной ival и пустой. Простая инструкция состоит из выражения, за которым следует точка с запятой. простые инструкции int ival = 1024; инструкция определения переменной ival; выражение ival + 5; еще одно выражение Например: if ( ival0 > ival1 ) { составная инструкция, состоящая из объявления и двух присваиваний int temp = ivalO; ivalO = ival1; ival1 = temp; заключенная в фигурные скобки: Составная инструкция может употребляться там же, где простая, и не нуждается в завершающей точке с запятой. Пустая составная инструкция эквивалентна пустой простой. Приведенный выше пример while ( *string++ = *inBuf++ ) с пустой инструкцией можно переписать так: {} пустая инструкция Составную инструкцию, содержащую определения переменных, часто называют блоком. Блок задает локальную область видимости в программе - идентификаторы, объявленные внутри блока (как temp в пред1дущем примере), видны только в нем. (Блоки, области видимости и время жизни объектов рассматриваются в главе 8.) 5.2. Инструкции объявления В С++ определение объекта, например int ival; рассматривается как инструкция объявления (хотя в данном случае более правильно было бы сказать определения). Ее можно использовать в любом месте программы, где разрешено употреблять инструкции. В следующем примере объявления помечены комментарием #n, где n - порядковый номер. ival = ival +5; присваивание Условные инструкции и инструкции цикла синтаксически требуют употребления единственной инструкции, связанной с ними. Однако, как правило, этого недостаточно. В таких случаях употребляются составные инструкции - последовательность прост1х,
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |