13 / 13 / 1
Регистрация: 16.12.2010
Сообщений: 265
|
|
1 | |
исключительные ситуации10.06.2011, 22:43. Показов 4429. Ответов 7
Метки нет (Все метки)
Подскажите, как сделать переполнение в этой задаче:
Создать класс для хранения обыкновенных дробей. Запрограммировать метод сокращения дроби. Перегрузить арифметические операции. Для класса определить оператор <<. Преду-смотреть возбуждение исключительных ситуаций (при делении на ноль, переполнении). Остались только исключительные ситуации, ничего не пойму, препод сказал создать функцию, которая будет возвращать границы типа в зависимости от кол-ва байт... Я не очень поняла, что он хотел. Даже прототип написал, но все равно void borders (int size, double &l, double &r). Первое понятно, размер типа, а зачем границы передавать не знаю. И еще не понятно про блоки throw,try и catch, что с ними делать и где писать.
1
|
10.06.2011, 22:43 | |
Ответы с готовыми решениями:
7
исключительные ситуации Исключительные ситуации Исключительные ситуации Исключительные ситуации |
10.06.2011, 23:16 | 2 | ||||||||||
Эти блоки используются, чтобы досрочно прервать выполнение функции в случае возникновения ошибки (исключительной ситуации), из-за которой невозможно продолжить выполнение функции.
throw - выбрасывает исключение (throw exception). catch - ловит исключение (catch exception). try - код, при выполнении которого нужно ловить исключение.
Сообщение от Mars30
0
|
13 / 13 / 1
Регистрация: 16.12.2010
Сообщений: 265
|
|
11.06.2011, 08:46 [ТС] | 3 |
Он вроде хотел, чтобы эта функция как-то сравнивала значение, которое у меня есть с границами. Но мне кажется, что компилятор сразу делает неявное приведение к типу long int.
Добавлено через 1 минуту А для чего нужно писать using namespace std? Добавлено через 1 минуту talis, можешь закомментировать, что ты написал? Добавлено через 46 секунд Я имею в виду, где throw
0
|
11.06.2011, 11:57 | 4 | ||||||||||||||||||||
При выбрасывании исключения блоку catch можно (даже нужно) передать некую структуру данных, которая позволить понять, что за ошибка произошла. В моём примере этой структурой является class EMyExc, единственной информативной частью в кём - C-строка с текстом. Обычно рекомендуется так же включать целочисленный код ошибки, чтобы можно было быстро программным методом определить проблему. Ну и любую другую информацию, которую вы посчитаете полезной.
Этот объект указывается в инструкции throw (можно прямо там создать), и передаётся инструкции catch, которая ловит исключения этого типа.
Помимо обычных пространств имён, есть ещё именованные. То есть те, у которых есть своё имя. Одно из таких - std; Чтобы обратиться к объекту из именованного пространства имён, нужно написать
Думайте о пространствах имён как о папках - это не совсем верно, но поможет понять суть. Разница только в том, что, если пространство B вложено в пространство A, то из B видно все внутренности A (простите за несколько формальное определение). Удачи.
1
|
13 / 13 / 1
Регистрация: 16.12.2010
Сообщений: 265
|
|
13.06.2011, 17:25 [ТС] | 5 |
talis, я попробовала сделать хоть что-то, но ничего не получается, понимание пока не пришло, а у меня всего два дня, чтобы это сдать и получить допуск к экзамену((( вы не могли бы мне помочь с моей задачей. Я сама не могу((( даже с примером мне не понятно, как сделать с дробями
0
|
594 / 532 / 76
Регистрация: 22.03.2011
Сообщений: 1,585
|
|
13.06.2011, 17:35 | 6 |
Mars30, напиши 3424572 помогу
0
|
2 / 2 / 1
Регистрация: 07.01.2012
Сообщений: 54
|
|
19.06.2012, 22:00 | 8 |
о,та же задача и те же вопросы
для какой области переполнение делать? ну в смысле тоже ведь через функцию.,какую?
0
|
19.06.2012, 22:00 | |
19.06.2012, 22:00 | |
Помогаю со студенческими работами здесь
8
Исключительные ситуации исключительные ситуации Исключительные ситуации обработать исключительные ситуации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |