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

Какой текст выведет программа с иерархией исключений

Компании, где спрашивали:

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

Необходимо определить, какой набор символов будет напечатан в консоль после запуска представленного ниже кода.

# include <iostream>
# include <thread>
using namespace std;

struct GeneralException {
    virtual void print() { std::cout << "G"; }
};

struct SpecialException : public GeneralException {
    void print() override { std::cout << "S"; }
};

void f() { throw SpecialException(); }

int main() {
    try {
        f();
    }
    catch (GeneralException e) {
        std::cout << "G";
        e.print();
    }
    catch (SpecialException e) {
        std::cout << "S";
        e.print();
    }
}