Спецификации исключительных ситуаций
Иногда возникает необходимость заранее указать, какие исключения мо-
гут генерироваться в той или иной функции. Это можно сделать с помощью так называемой спецификации исключительных ситуаций. Это средство позволяет указать в объявлении функции типы исключительных ситуаций, которые могут в ней генерироваться. Синтаксически спецификация исключения является частью заголовочной записи функции и имеет вид:
объявление функции throw(тип1, тип2,…){тело функции}
где тип1, тип2,… − список типов, которые может иметь выражение throw внутри функции. Если список типов пуст, то компилятор полагает, что функцией не будет выполняться никакой throw.
void fun(char c) throw();
Использование спецификации исключительных ситуаций не означает, что
в функции не может быть сгенерирована исключительная ситуация некоторого не указанного в спецификации типа. Просто в этом случае программа по умолчанию завершится, так как подобные действия приведут к вызову неожиданного обработчика. Таким образом, когда функция генерирует исключительную ситуацию, не описанную в спецификации, выполняется неожиданный обработчик
unexpected().
26.Организация ввода\вывода.Манипуляторы << и >>
В С++ используется достаточно гибкий способ выполнения операций
ввода−вывода классов с помощью перегрузки операторов << (вывода) и >> (ввода). Операторы, перегружающие эти операции, обычно называют инсертером и экстрактором. Для обеспечения работы с потоками ввода−вывода необходимо включить файл iostream, содержащий класс iostream. Этот класс является производным от ряда классов, таких как ostream, обеспечивающий вывод данных в поток, и istream − соответственно чтения из потока.
|
|
Для перевода курсора на новую строку надо вставлять манипулятор endl.
Манипуляторы hex и oct используются для вывода числовой информации в шестнадцатеричном или восьмеричном представлении.
cout <<hex << j <<' ' << j <<' '<<dec << j <<' ' << oct << j <<endl;
Манипуляторы изменяют значение некоторых переменных в объекте cout.
Есть манипуляторы, позволяющие выполнять форматирование
выводимой на экран информации setw(), setfill(' '). Синтаксис их показывает, что это функции. На самом деле это компоненты-функции
#include "iomanip.h"
void main(){ int a=0x11; double d=12.362;
cout << setw(4) << a << endl;
cout << setw(10) << setfill('*') << a << endl;
#include "iostream.h"
#include "iomanip.h"
void main()
{ char s[]="БГУиР факультет КСиС";
cout << setw(30) << setiosflags(ios::right) << s << endl;
cout << setw(30) << setiosflags(ios::left) << s << endl;
}
Дата добавления: 2015-12-21; просмотров: 114; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!