According to the C++ Lite FAQ 23.5, Base::virt()
will be called.
Anyway, it's really not something you want to do - if your object is used by another thread without proper initialization, you can encounter all sorts of nasty race conditions. For example, what would happen if the second thread called virt
exactly when the vtable is set? Who's to guarantee that setting the vtable during object construction is an atomic operation?
You should design your code in such a way that your objects aren't used before they're fully initialized.