← Back to archive

Stdle #27 · virtual · 2026-07-03

What does this C++ snippet output?

A past puzzle — fully playable. 4 attempts, hints on wrong guesses.

#include <iostream>
struct A { virtual ~A() { std::cout << "~A\n"; } };
struct B : A { ~B() { std::cout << "~B\n"; } };
int main() {
A* p = new B();
delete p;
}
Virtual
2 lines
4 attempts left

Answer & explanation