Sobes.tech
Back to tasks
Junior — Senior
63

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

Companies where asked:

ГК Адепт
Get help with live coding in real time with Sobes Copilot
Task condition

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

# 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();
    }
}