Ответ 1
Порядок - это порядок, который они отображаются в определении класса - это из раздела 12.6.2 стандарта С++:
5 Инициализация должна выполняться в в следующем порядке:
- Во-первых, и только для конструктор самого производного класс, как описано ниже, виртуальная база классы должны быть инициализированы в порядок они появляются на глубине слева направо направленный ациклический граф основания классы, где "слева направо" является порядок появления базового класса имена в производном классе базовый спецификатор-лист.
- Тогда, прямо базовые классы должны быть инициализированы в порядок декларации, как они появляются в список-спецификатор базы (независимо от порядок mem-инициализаторов).
- Тогда нестатические члены данных должны быть инициализированы в том порядке, в котором они были объявлено в определении класса (опять же, независимо от порядка MEM-инициализаторы).
- Наконец, тело конструктора. [Заметка: приказ о предложении поручается обеспечить, чтобы базовые и членные подобъекты уничтожаются в обратном порядке инициализация. ]