С++: Вызов различных конструкторов в зависимости от пользовательского ввода?
Вариант с функцией-генератором:inline Foo make_foo(bool someFlag)
{
    if (someflag)
        return  Foo("SomeString");
    else 
        return Foo(42);
}
//...
Foo = make_foo(someflag)
Использовать указательFoo *foo;
if (someFlag)
  foo = new Foo("SomeString");
else 
  foo = new Foo(42);
...
delete foo;