- •Структура приложения
- •Терминология объектно-ориентированного программирования
- •Объявление класса
- •Производные типы
- •Массивы
- •Пример:
- •Выделение памяти под массив
- •Пример:
- •Ссылки на объект
- •Пример:
- •Выделение памяти под структуру
- •Доступ к элементам структуры
- •Пример:
- •Пример:
- •Функции
- •Функции с переменным числом параметров
- •Пример:
- •Пример:
- •Операторы объявления
- •Операторы управления исключениями
- •Объявления
Пример:
if( condition 1== true )
if( condition2 == true )
{ cout « "condition 1 истинно; condition2 истинно\n";
cout « "эти два оператора оформлены как блок\n";
}
else
cout « "conditionl истинно; condition2 ложно\n";
else
cout « "condition 1 ложно\n";
Оператор switch позволяет выполнить переключение на выполнение одного из нескольких помеченных фрагментов кода. Переход выполняется на блок кода, указанный ключевым словом case, для которого значение выражения-условия совпадает с его константным выражением. Если оператор switch не содержит ни одного оператора case с совпадающим константным выражением, то выполняется оператор, указанный после ключевого слова default(котopoe может и отсутствовать).
Константное выражение, указанное оператором case, до сравнения с выражением-условием преобразуется к типу выражения условия.
Завершение выполнения оператора switch происходит по оператору break. Если не указать оператор break, то вслед за выполнением оператора, указанного после соответствующего ключевого слова case, начнет выполняться оператор для следующего case. Это может, однако, быть полезно в том случае, если требуется для нескольких различных константных выражений выполнить один и тот же оператор.
Пример:
char cl='D';
switch( cl )
case 'a':
case 'A':
// Выполняется и для 'а' и для 'А'
break;
case 'D':
// Операторы
break;
default:
;
Операторы цикла
C++ имеет три оператора цикла:
-
for
-
do
-
while
Операторы do и while выполняются до тех пор, пока указанное в скобках выражение является истинным. Различие этих операторов состоит в том, когда проверяется истинность выражения-условия. В операторе while проверка производится до выполнения операторов тела цикла, а в операторе do - после. Поэтому оператор do всегда гарантирует хотя бы одно выполнение операторов тела цикла.
Оператор for выполняется заданное число раз и проверка условия производится до выполнения операторов тела цикла/Этот оператор позволяет объявлять и выполнять инициализацию переменной цикла непосредственно внутри оператора. Условие выполнения оператора for указывается в круглых скобках и может иметь три параметра: выражение, определяющее переменную цикла и ее начальное значение; выражение-условие выполнения цикла; выражение, изменяющее значение переменной цикла.
Для выхода из цикла можно использовать оператор break. Для перехода на конец цикла (но не на выход из него) применяется оператор continue.
Операторы цикла могут иметь следующее формальное описание:
iteration-statement: while ( expression ) statement do statement while ( expression ) ; for ( for-init-statement-expressionl; expression2opt; expression3opt) statement for-init-statement: expression-statement declaration-statement |
Пример:
// Оператор цикла do
char ch;
do
{ ch = _getch(); }
while( ch != cCode );
// Оператор цикла while
while( ch != cCode )
{ ch = _getch(); }
// Оператор цикла for
char cArray[10];
for (int i=0; i<10; i++)
cArray[i]=getchar();
Операторы цикла for и while можно записать в следующих двух эквивалентных формах:
for(for-init-statement; expression2; expression3) { // Выполняемые операторы } |
for-init-statement; while( expression2) { // Выполняемые операторы expression3; } |
Отметим, что следующая запись операторов for и while также эквивалентна и определяет бесконечный цикл.
for(;;) { // Выполняемые операторы } |
while( 1 ) { // Выполняемые операторы } |
Операторы перехода
Операторы перехода могут иметь следующее формальное описание:
jump-statement break ; continue ; return expressionopt; goto identifier ; |
Оператор перехода break прерывает выполнение оператора цикла и передает управление на следующий оператор.
Пример:
for(; ; ) // Бесконечный цикл.
{
if( i==l )
break;
i++;
}
// Оператор break передал управление в эту точку.
Оператор перехода continue передает управление на конец цикла и инициирует изменение переменной цикла (для for-цикла) и проверку выражения-условия. Этот оператор позволяет пропускать итерации цикла.
Оператор перехода return используется для выхода из функций. Этот оператор может иметь возвращаемое функцией выражение, за исключением функций типа void. Возвращаемое выражение, указанное оператором return, преобразуется к типу, определенному при объявлении функции.
Оператор перехода goto выполняет передачу управления на указанную метку (расположенную в текущей функции).