[an error occurred while processing this directive]
|
Видимо, речь идет про конструирование объектов по new. Тогда можно сделать примерно так:
claSS A {
A() {}
public:
static A* CreateObject( bool doCreate )
{
if( doCreate )
return new A;
else
return 0;
}
};
Это в том случае, если проверка возможности создания объекта достаточно дорога, чтобы делать её дважды. Иначе лучше написать отдельный метод проверки возможности создания объекта и явно его вызывать перед созданием объекта - будет понятнее, что происходит. А конструктор должен работать всегда, за исключением явно аварийных случаев - например, невозможности открыть требуемый файл. В последнем случае ннужно кидать исключение.
E-mail: info@telesys.ru