Назад к задачам
Junior — Senior
21

Определите, что напечатает программа с классами и наследованием

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Укажите, какой вывод будет получен при запуске следующего кода.

#include <iostream>

struct A1 {
    A1() {
        std::cout << "A1:";
    }
    ~A1() {
        std::cout << "~A1:";
    }
};

struct A2 {
    A2() {
        std::cout << "A2:";
    }
    ~A2() {
        std::cout << "~A2:";
    }
};

class B {
public:
    B() {
        std::cout << "B:";
    }
    ~B() {
        std::cout << "~B:";
    }

private:
    A1 a;
};

class C : public B {
public:
    C() {
        std::cout << "C:";
    }
    ~C() {
        std::cout << "~C:";
    }

private:
    A2 a;
};

int main() {
    C c;
}