Понятно, что вызывать виртуальные функции из конструктора суперкласса с целью инициализировать объект подкласса каким-то специфичным для него образом просто так нельзя, но иногда очень хочется сделать что-то подобное, чтобы не индусить код лишней копипастой . Возникает вопрос, можно ли как-то это надежно и безопасно сделать средствами Qt. Например, можно использовать в конструкторе
QTimer::singleShot(0, this, SLOT(initInstance()));
, где initInstance() - какой-то слот, в котором вызываются виртуальные функции?
И дополнительно, я так понимаю, после создания экземпляра объекта нужно говорить что-то вроде QCoreApplication::processEvents() .
Насколько такие действия правомерны, нет ли там скрытых (или не скрытых) граблей?
Спасибо.