первая задача конструктора — перевести поля объекта в допустимое состояние.
Вторая задача — упростить пользование объектом.
Например конструктор класа для работы с файлом
File file("in.txt", File::omRead);
И почему бы не вызывать какието дополнительныи методы для чтения с файла или валидации данных. И тому подобное.
Тока как сказали уже више виртуальныи методы вызывать нельзя.