Перейти к содержимому
Тест · Исключения · урок 4 из 7

Тест — catch по значению

Что выведет программа?

C++
#include <iostream>

struct Error {
    virtual int code() const { return 1; }
};
struct NotFound : public Error {
    int code() const override { return 404; }
};
int main() {
    try { throw NotFound{}; } catch (Error e) { std::cout << e.code() << ' '; }
    try { throw NotFound{}; } catch (const Error& e) { std::cout << e.code(); }
}