Это безопасно? Я не использую никаких виртуальных функций в своей реальной реализации, но я склонен полагать, что даже если бы я был, это все равно было бы безопасно.
class Foo
{
Foo()
{
// initialize things
}
Foo( int )
{
new ( this ) Foo();
}
}