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

Обработка неудачного вызова конструктора класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите сервис карт с API под C++ http://www.cyberforum.ru/cpp-beginners/thread1113827.html
Ищу сервис карт с API под C++. Чего-то неверотного не жду, если можно будет просто получить кратчайший путь (расстояние в км) по дорогам от одного объекта до другого, имея их адрес или координаты,...
C++ Каким образом программа определяет эффективный угол? Ребят, объясните одну вещь: есть программа на С++,которая вычисляет при каком угле расстояние полета тела будет максимальным, и выводит эти значения.Вот участок кода который это делает: float d,... http://www.cyberforum.ru/cpp-beginners/thread1113805.html
Передача в функцию по ссылке или указателю C++
Гуру C++, как предпочтительнее делать?:) void f1(int &a) { a = 5; } void f2(int * a) {
Задача Создать массив структур, каждая из которых состоит из C++
Задача Создать массив структур, каждая из которых состоит из следующих элементов: факультет, курс, группа, фамилии студентов, экзаменационные оценки. Реализовать запросы, определив: 1)фамилии...
C++ Отлов нажатия клавиш http://www.cyberforum.ru/cpp-beginners/thread1113790.html
Доброго времени суток! Стоит задача при нажатии оперделенной клавиши выполнить действие. Код: #include <windows.h> #include <iostream> #include <tchar.h> #include <conio.h> using...
C++ Чтение бинарного кода из файла Необходимо прочитать бинарный код, синтаксически разделённый на байты (Например: 01000010 00011100 01111011) из файла. С библиотекой fstream знаком, больше интересует корректное прочтение, ибо в... подробнее

Показать сообщение отдельно
eugrita
3 / 4 / 0
Регистрация: 18.11.2009
Сообщений: 451
09.03.2014, 03:37  [ТС]
Очень не люблю обрабатывать исключения. Мой опыт показывает, что если они возникают, программа кроме реакции по написанному обработчику, выдает еще стандартное системное сообщение - неприятно.
В поднятом вопросе о конструкторе графа по данным из файла вижу такой вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
graph::graph(char * fln,bool * p)
 {//загрузка графа из файла
   FILE * f=fopen(fln,"r");
   if (f==NULL) {*p=false;return;}
  // чтение графа из файла
 //добавление ребер по данным файла
  while (!eof(f) {
  if(...)  //если ошибка чтения начальной или конечной вершины
 {*p=false;return;}
   ....
                    };
   *p=true;
 }
...
void main()
{...
bool B;
graph *g=new graph("dan.txt",B);
if (!B) //неудачный вызов
{delete g; return;};
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.