Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_ekzamen_CPP.doc
Скачиваний:
38
Добавлен:
21.09.2019
Размер:
311.81 Кб
Скачать
  1. Вложенные исключения.

Блок Try может включать в себя другие блоки try со своими обработчиками исключений. В этом случае обработчик исключений ищется последовательно от самого внутреннего блока try к самому внешнему блоку try.

В данном примере обработчик Above zero находиться внутри блока try а обработчик zero относиться к внешнему блоку try. Блок try c обработчиками исключений может быть вложен в блок catch. В этом случае подходящий обработчик исключений. Ищется только внутри блока catch, в который вложен блок try.

Замечание. Для передачи управления из обработчика исключений другому обработчику исключений, который находится выше текущего обработчика в иерархии текущего исключения, используется инструкция throw без выражения. В этом случае новые исключения не создается а выбрасывается обрабатываемое исключение.

  1. Определение класса.

Класс является абстрактным типом данных, определяемых пользователем, и представляет собой модель реального объекта, процесса или явления. Абстрактным типом данных называется множество значений и множество операций, допустимых над этими значениями. Множество значений данных, принадлежащих классу, определяется его структурой, а множество операций, допустимых над этими значениями, определяется набором функций. Как данные, так и функции, определённые в классе, называются членами класса. Данные класса также называются его атрибутами, а функции – методами. Набор функций класса называется его интерфейсом. Простейший случай описания класса выглядит следующим образом:

Class имя_класса

{ спецификатор доступа

Описание данных

Описание методов

};

Спецификатор доступа управляет видимостью элементов класса, т.е. определяет уровень доступа к элементам класса. В общем случае синтаксический класс определяется следующим образом:

Class |struct| union имя_класса

{

// члены класса

};

При определении класса должно использоваться только одно из ключевых слов: class, struct или union. Каждое из этих ключевых слов устанавливает различные режимы доступа к членам класса. При использовании ключевого слова class доступ ко всем членам класса закрыт, а при использовании ключевых слов struct и union – открыт.

Чтобы открыть или закрыть доступ клиентов к определенным членам класса используются спецификаторы доступа, которые мы рассмотрим далее. Допускается объявлять только имя класса без его определения. Такое объявление класса называется предварительным. В этом случае можно определять только указатели или ссылки на объекты такого класса. Методы класса представляют собой обычные функции, которые могут быть или только объявлены в классе, или полностью определены в классе. Если функция определяется вне класса, то для того, чтобы показать, какому классу принадлежит эта функция, нужно перед именем функции записать имя класса и оператор разрешения области видимости. После определения класса можно объявлять переменные, которые имеют тип этого класса, или другими словами принадлежат этому классу или являются экземплярами этого класса.

В языке программирования С++ экземпляры класса называются объектами. Каждый объект содержит свой набор атрибутов класса. После создания объектов класса над ними можно выполнять методы этого класса. Для доступа к членам класса вне области видимости этого класса используются операторы точка (.) и стрелочка (). При этом стрелочка используется в том случае, если вы осуществляете доступ к элементу класса через указатель на объект класса. Т.е. все действия выполняются аналогично как над элементами структуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]