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

исключения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ переставить елементы массива http://www.cyberforum.ru/cpp-beginners/thread42819.html
Задали задачу: В массиве переставить значения в обратном порядке. Тоесть(1,2,3,4,5)надо перевернуть(5,4,3,2,1) Написал код ,вроде должен работать, но не работает. const int n=5; int a={1,2,3,4,5},buf; for(int i=0;i<n/2;i++) { bool f=true; for(int j=n-1;j>n/2;j--)
C++ решение функции и запись результата в файл Условие в прилогаемом файле... http://www.cyberforum.ru/cpp-beginners/thread42816.html
Чтение значений из файла C++ Builder
Программа доложна читать кординаты вершин из одного файла и номера соседних блоков из другого,переводить в кординаты экрана и рисовать эти блоки.При запуске выводится ошибка ,думаю гдето намудил в функции zapolnenie(). Подскажите что я делаю неправильно,зарание спасиба за любую помощь //--------------------------------------------------------------------------- #include <vcl.h>...
C++ как осуществить статус загрузки?
помогите пожалуйста мне нужен код для проги чтобы код показывал статускакой то работы...скажем прога работает с файлом и закончит через 10 мин...это надо показывать в процентах так 10% 11% 80% и т.д. заранее благодарен!!
C++ Синтаксическая ошибка!)) http://www.cyberforum.ru/cpp-beginners/thread42743.html
Вот код: ==================================================================== #include <iostream> using namespace std; /*Напишите код, умножающий исходное число на 2, если оно принадлежит интервалу от 1 до 100 ( включительно) и делится нацело на 3; в противном случае умножает на три, если число принадлежит интервалу от 1 до 100, но не делится нацело на три; и наконец, умножает число на...
C++ Сравнить первый и второй элементы массива Здравствуйте. У меня возникли проблемы решением задачки. Подскажите формулу. "Дан 2 -ух мерный массив. Сравнить первый и второй элементы массива. Если второй элемент меньше первого, то поменяйте их местами. Затем то же сделать со вторым и третьим, ..., предпоследним и последним элементами. Я вот тут начал и застрял: #include <stdio.h> main() { int t, i, num ; printf("vvedite kolichestvo... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
17019 / 5424 / 336
Регистрация: 30.03.2009
Сообщений: 14,680
Записей в блоге: 26
08.07.2009, 15:51     исключения
Добрые люди объяснили, для чегонужно использовать стандартный класс exception - чтобы в catch стояла обработка стандартного класса, а в своей реализации просто переопределять what. Изначально такая мысль и была, но в моём примере это не работало, а потому грешным делом подумал, что смысл не в этом. Сейчас буду думать, как должен выглядеть правильный исходник

Добавлено через 59 минут 20 секунд
Всё оказалось просто. В прототипе what я потерял "const throw()" (т.е. фактически другой прототип), а поэтому вместо того, чтобы преобпределить what из класса std::exception я сделал другую функцию с другим прототипом.

В итоге после замены 14 и 29 строк получился правильный код. Да и позиция преподавателя теперь понятна

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream.>
 
using namespace std;
 
class my_exception : public exception
{
  private:
    char str[100];
 
  public:
    my_exception () { strcpy (str, "default"); }
    my_exception (const char *s) { strcpy (str, s); }
 
    virtual const char* what (void) const throw() { return str; }
};
 
void func (void)
{
  cout << "throw" << endl;
  throw my_exception ("trampampam");
}
 
int main (void)
{
  try
    {
      func ();
    }
  catch (exception &e)
    {
      cout << "catch " << e.what() << endl;
    }
 
  return 0;
}
 
Текущее время: 19:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru