Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Класс Стек Stack. не работает класс исключений - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что-то не так с fopen http://www.cyberforum.ru/cpp-beginners/thread794621.html
Что компилятор хочить в fopen? Вот например что здесь не так? void WriteSum(double *pmatrix) { double **prow, *pnode; int k; FILE *f1; f1 = fopen(fn_sum,"w"); if(!f1){
C++ Разбить введенное слово на слоги Разбить введенное слово на слоги так, чтобы в первом слогу было больше чем одна буква и оканчивалась на гласную, а второй слог содержал хотя бы одну гласную. Не могу понять какие использовать... http://www.cyberforum.ru/cpp-beginners/thread794613.html
Реализовать функцию, которая формирует массив Б, состоящий из элементов массива А, к которым применена функция... C++
Помогите, пожалуйста решить задачку. Задан массив А(н). Реализовать функцию, которая формирует массив Б, состоящий из элементов массива А, к которым применена функция ф(...), Вывести на печать...
Нахождение самого длинного слова C++
Появилась проблема, пишет несколько ошибок. В sl должен попадать текст, до этого попадал, сейчас не знаю, запуталась Т____Т #include "stdafx.h" #include <stdlib.h> #include "conio.h" #include...
C++ Экспорт из DataGridView в Excel http://www.cyberforum.ru/cpp-beginners/thread794596.html
Помогите пожалуйста, я экспортировала данные из datagridview в эксель, затем по этим данным в экселе сделала диаграмму, но когда по новой загружаю программу и соответственно ввожу другие данные, то...
C++ Поиск наиболее часто встречающихся слов в файле Дан символьный файл f, содержащий произвольный текст длиной более 5000 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 100 наиболее часто встречающихся слов и число их... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
26.02.2013, 10:04
Немного здоровой критики.
Цитата Сообщение от FireProoF Посмотреть сообщение
// Класс исключений для CStack
C++
1
class EStack
C++
1
class EStack : public std::runtime_error
Стандартные классы для исключений есть не просто для красоты.

Цитата Сообщение от FireProoF Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CStack& push(const stackdata& data)//заполнение
{
    listitem* item = new listitem;//Создаём указатель и делаем его ячейкой стека
    item->data = data;//Заполняем ячейку данными. присланными извне
    // ...
}
 
stackdata pop()//извлечение
{
    if(empty()==true) throw EStack("Stack is empty");//исключение. Если стек пуст передать в класс исключений сообщение об этом
    // ...
}
 
const stackdata& peek() const
{
    if(empty()) throw (EStack("Stack is empty"));
    return head->data;
}
Выброс исключений почему-то выполняется при абсолютно нормальной для стека ситуации (закончились элементы), а не при действительно исключительной — если для нового элемента не была выделена память. Ну хотя тут есть std::bad_alloc, что хоть что-то, но нормальности первой ситуации это не отменяет.

Цитата Сообщение от anmartex Посмотреть сообщение
C++
1
catch (EStack& error)
C++
1
catch (const EStack& error)
const-корректность же. Нехорошо изменять исключение по пути.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru