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

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

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

Показать сообщение отдельно
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
08.03.2014, 08:51     Обработка неудачного вызова конструктора класса
Цитата Сообщение от eugrita Посмотреть сообщение
Можно ли из него понять создан ли объект g или нет ?
Читаем про оператор new, смотрим какие исключения он бросает http://en.cppreference.com/w/cpp/mem...w/operator_new

Цитата Сообщение от eugrita Посмотреть сообщение
Применение этого например, такое - создание конструктора графа, берущего его параметры из файла
В случае неудачного формата файла конструктор должен (если возможно) отказаться от создания экземпляра класса.
Можно кинуть исключение. Но тут надо помнить, что если из конструктора кидается исключение, то деструктор вызван не будет, что может привести к утечкам памяти.

Цитата Сообщение от eugrita Посмотреть сообщение
Создать статический метод класса - чтения из файла.
возвращающий также успех (true) или неудачу (false).
Пусть он лучше сразу возвращает либо указатель на объект, либо NULL. Где гарантия, что вы будете создавать объект с теми же параметрами, которые уже проверили на корректность?
 
Текущее время: 20:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru