- Статические и глобальные объекты: конструируются до вызова
main(), разрушаются после завершения main().
- Объекты-члены класса: конструируются в порядке их объявления в классе, разрушаются в обратном порядке при разрушении объекта класса.
- Базовые классы: конструируются до производного класса в порядке их указания в списке инициализации базовых классов, разрушаются после производного класса в обратном порядке.
- Локальные автоматические объекты (на стеке): конструируются при входе в область видимости, разрушаются при выходе из нее в обратном порядке конструирования.
- Объекты, выделенные динамически (на куче): конструируются при вызове
new, разрушаются при вызове delete. Порядок определяется порядком new и delete.
Пример:
cpp
Вывод программы будет следующим:
plaintext