Конгер Д.
Физика для разработчиков компьютерных игр
стр. 484

Класс rigid_body из листинга В.8 унаследован от класса point_mass. От класса rigid_body унаследованы другие классы. Поскольку класс rigid_body является родительским классом, его методы должны быть виртуальными.

Исключения

В высокоуровневых языках, например, в C++, есть специальный механизм обработки ошибок, называемый обработкой исключений (exception handling). Если использующая его программа сталкивается с ошибкой при выполнении, она генерирует исключение, которое другая часть программы может обработать, чтобы попытаться избежать последствий ошибки. Исключения должны использоваться только в особых случаях, например, при возникновении ошибок, из-за которых невозможно продолжать выполнять программу.

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

Обычно при генерации исключения программа создает объект, содержащий информацию об исключении. Пример определения класса таких объектов приведен в листинге В.9.

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

Для нашей дискуссии неважно, что именно делает функция из листинга

В. 10. Нас интересует только проверка наличия ошибки, которая выполняется в строке 4. Если обнаруживается ошибка, то в строках 6-7 создается переменная типа pmlib_error, и в нее помещается сообщение об ошибке. Затем в строке 8 оператором throw генерируется исключение.



Новости
Аниме-трейлер Heroes of the Storm посвящён механическим обликам героев
Blizzard выпустила обещанные вместе с появлением в Heroes of the Storm огнемётчика Блэйза новые легендарные механизированные облики нескольких героев: Тираэля, Регара, Абатура и Дехаки.
45-минутная запись геймплея Metal Gear Survive
Японское подразделение IGN представило публике 45-минутную запись геймплея Metal Gear Survive – последней части знаменитой серии, а также первой, в создании которой не принимал участие Хидео Кодзима.