C
C/C++ | Вопросы собесов
@easy_c_plus4.3K подп.
597просмотров
13.9%от подписчиков
23 марта 2026 г.
questionScore: 657
🤔 В каком порядке конструируется объект и в каком разрушается? При создании и удалении объекта в C++ выполняется несколько этапов: Конструирование: от базового класса к производному. Деструкторы вызываются в обратном порядке: от производного к базовому. 🚩Порядок вызова конструкторов При создании объекта сначала создаются его базовые классы, затем члены класса, потом сам объект. #include <iostream> class Base { public: Base() { std::cout << "Конструктор Base&#092;n"; } ~Base() { std::cout << "Деструктор Base&#092;n"; } }; class Derived : public Base { public: Derived() { std::cout << "Конструктор Derived&#092;n"; } ~Derived() { std::cout << "Деструктор Derived&#092;n"; } }; int main() { Derived obj; } Вывод Конструктор Base Конструктор Derived Деструктор Derived Деструктор Base 🚩Порядок вызова конструкторов для членов класса Члены класса инициализируются в порядке их объявления в классе (а не в порядке в списке инициализации). class A { public: A() { std::cout << "A()&#092;n"; } ~A() { std::cout << "~A()&#092;n"; } }; class B { public: B() { std::cout << "B()&#092;n"; } ~B() { std::cout << "~B()&#092;n"; } }; class C { A a; B b; public: C() { std::cout << "C()&#092;n"; } ~C() { std::cout << "~C()&#092;n"; } }; int main() { C obj; } Вывод A() B() C() ~C() ~B() ~A() Ставь 👍 и забирай 📚 Базу знаний
597
просмотров
1401
символов
Да
эмодзи
Нет
медиа

Другие посты @easy_c_plus

Все посты канала →
🤔 В каком порядке конструируется объект и в каком разрушает — @easy_c_plus | PostSniper