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

Обработка неудачного вызова конструктора класса - 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 знаком, больше интересует корректное прочтение, ибо в... подробнее

Показать сообщение отдельно
DU
1483 / 1129 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
09.03.2014, 03:53
не любите исключения наверно потому что не умеете их готовить.
из конструктора можно таким макаром вернуть флаг конечно. но
объект должен оставаться в корректном согласованном состоянии.
и чтобы его проверять у него должен быть соответствующий интерфейс,
т.е. методы, через которые можно понять что он валидный\невалидный.
еще в таких случаях часто используют так называемое двух фазное
конструирование. это конструктор, который ничего не бросает,
и метод инициализации, который возвращает какой-нибудь флажок или ошибку.

в вашем последнем примере теоретически new может бросить исключение,
хотя на практике это редкий кейс.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru