Нет, вы не можете, конструкторы не могут быть виртуальными.
C ++ 03 - 12.1 Конструкторы
4) Конструктор не должен быть
blockquote>virtual
(10.3) илиstatic
(9.4). [...]Если вам нужно что-то вроде этого, вы можете найти здесь idiom виртуального конструктора .
Похоже, большинство рекомендаций здесь состоит в том, чтобы не вызывать fsync (), но в целом это в основном зависит от требований вашего приложения. Если вы работаете с критически важным файлом для чтения / записи, всегда рекомендуется вызывать fsync ().
http://www.microhowto.info/howto/atomically_rewrite_the_content_of_a_file.html#idp31936
, содержит более подробную информацию о том, когда file.Sync () поможет.