Half Built Widget
struct A { A(){ std::puts("A ctor"); } ~A(){ std::puts("A dtor"); } };
struct B { B(){ std::puts("B ctor"); } ~B(){ std::puts("B dtor"); } };
struct Widget {
A a;
B b;
Widget() { throw std::runtime_error("boom"); }
~Widget() { std::puts("Widget dtor"); }
};
int main() {
try { Widget w; }
catch (...) { std::puts("caught"); }
}
What does this print?
Sign in to answer questions and track your progress
Sign In